A playground implementation of the Statix constraint language in Haskell.
This is meant to be a place to quickly prototype extensions and variations on the core Statix language.
It can execute a given ministatix specification on an aterm, or can be exercised in a REPL.
To build this project, you need to have the Haskell Toolstack
(brew install haskell-stack on MacOS). Build the project using:
make
Enter the project's REPL using:
./statix repl
Check a file input.aterm against the specification src/spec.mstx using:
./statix check -I src spec input.aterm
The return code can be used to check the result of checking:
0for satisfied constraints64for unsatisfied constraints65for stuckness of the solver1for other errors (spec doesn't parse, imported modules missing, etc)
Other makefile targets are:
setupto setup the build environment;buildto build the project;testto run the test specifications intest/;cleanto remove the artifacts;docto build and show the generated documentation;ghcito open a Haskell Interactive propt in the project directory;installto install the binary in your user's local bin.
There is barely any for this research language, but you can find an emacs syntax highlighting definition in tooling/.