A prototypical dependently typed languages with sized types and variances.
Requires ghc and cabal, for instance via the Haskell Platform or via ghcup.
In a shell, type
cabal update
cabal install MiniAgda
MiniAgda is not on Stackage because it depends on a specific version of haskell-src-exts rather than the latest version.
You can install with stack from source though, see next section.
-
Obtain the sources.
git clone https://github.com/andreasabel/miniagda cd miniagda -
Checkout the desired version (optional): If you want to build a released version or a branch rather than the latest
master, switch to this version/branch.git checkout $REFE.g.
REF = v0.2022.3.11for version0.2022.3.11orREF = unfoldfor branchunfold. -
Building and running the tests (optional).
-
With
cabal(requiresghcin your PATH):cabal build --enable-tests cabal testAfter building, you can run MiniAgda locally, e.g.:
cabal run miniagda -- examples/Gcd/gcd.ma -
With
stack:stack build --stack-yaml=stack-$GHCVER.yaml stack test --stack-yaml=stack-$GHCVER.yamlAt the time of writing (2025-07-23),
GHCVERcan be any of9.12,9.10,9.8,9.6, and some older ones.After building, you can run MiniAgda locally, e.g.:
stack run --stack-yaml=stack-9.12.yaml -- examples/Gcd/gcd.maYou can copy
stack-$GHCVER.yamlfor your choice ofGHCVERintostack.yamland drop the--stack-yamlargument fromstackinvocation.
-
-
Install.
- With
cabal(requiresghcin your PATH):cabal install - With
stack:stack install --stack-yaml=stack-$GHCVER.yaml
Note that the respective installation directory should be on your PATH.
- With
See directories test/succeed/ and examples/.
Some examples are commented on the (dormant) MiniAgda blog.