Installation
Releases are cut by release-please; each
GitHub release
ships Linux x86_64 artifacts for the mts CLI built from the nix flake.
AppImage bundles
gh release download --repo lambdasistemi/haskell-mts --pattern '*.AppImage'
chmod +x mts-v*.AppImage
./mts-v*.AppImage --version
Docker images
The tarball loads as ghcr.io/paolino/mts/mts with mts as entrypoint:
gh release download --repo lambdasistemi/haskell-mts --pattern '*docker*'
i=$(docker load < mts-v*-docker.tar.gz | sed -e 's/Loaded image: //')
docker run $i --version
DEB packages
gh release download --repo lambdasistemi/haskell-mts --pattern '*.deb'
sudo dpkg -i mts-v*.deb
RPM packages
gh release download --repo lambdasistemi/haskell-mts --pattern '*.rpm'
sudo rpm -i mts-v*.rpm
Building from source
You can build with nix
nix shell nixpkgs#cachix -c cachix use paolino
nix shell github:lambdasistemi/haskell-mts --refresh
Or via cabal provided you have a working Haskell environment and rocksdb development files installed.
cabal install
WASM Outputs And Preview Commands
The flake exports the combined browser-WASM bundle plus one package per module (x86_64-linux only, where the GHC WASM toolchain is available):
nix build .#wasm-artifacts
nix build .#csmt-verify-wasm
nix build .#csmt-write-wasm
nix build .#mpf-verify-wasm
nix build .#mpf-write-wasm
It also exports local preview commands for each static bundle:
PORT=8000 nix run .#csmt-verify-wasm-demo
PORT=8001 nix run .#csmt-wasm-write-demo
PORT=8002 nix run .#mpf-wasm-write-demo
PORT=8003 nix run .#docs
Start With The Tutorials
Once the project builds, the fastest way to understand the current user-facing behavior is:
- CLI Manual for the CSMT command-line workflow
- CSMT WASM Verifier Demo for read-only proof checking
- CSMT WASM Write Demo for browser-side mutation
- MPF WASM Write Demo for MPF build/prove/verify with Aiken-compatible proofs