This repository contains an implementation of a frontend (parser and type checker) and a backend for LDGV.
The nix packet manager, preferably with a binary cache set up like described here.
In the toplevel directory:
nix-build -A ghcjs.ldgv
Run
nix-shells -A shells.ghc
to go into a nix shell and execute
cabal test
to let hspec discover and run all tests.
After building, you will find an index.html
in results/bin/ldgv.exe
.
The input syntax is explained in file syntax.txt
.
There are examples in the examples
directory. Source files end in
.ldgv
.
stack run -- examples/node.ldgv
Run
stack run -- -i examples/simple.ldgv
to run the typical session types hello world.
There are further test cases in example-inputs
, but this file contains
single lines which test subtyping and other features in isolation.