Skip to content
Computing exhaustification in haskell
Jupyter Notebook Haskell Nix Shell
Branch: master
Clone or download

Latest commit

Fetching latest commit…
Cannot retrieve the latest commit at this time.

Files

Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
hExh
.envrc
.gitignore
README.md
docker.nix
notebook.sh
propLogic.ipynb
sauerlandAlts.ipynb
scratch.ipynb
shell.nix

README.md

exhMonad

Computing exhaustification in haskell (directly inspired by https://github.com/KenyC/Exh). This is currently WIP and extremely messy!

https://github.com/patrl/hExh/blob/master/propLogic.ipynb contains a propositional fragment enriched with exhaustification operators.

https://github.com/patrl/hExh/blob/master/sauerlandAlts.ipynb contains a demonstration of how to implement Sauerland's algorithm for computing alternatives using the pointed-set monad. Exhaustification is implemented here as a special interpretation rule.

Hacking on exhMonad

Currently, the easiest way to get started is via the nix package manager.

In order to get a jupyter notebook up and running with ihaskell, simply run nix-shell --command "jupyter lab". Note that this takes a very long time to build for the first time, but will be much faster on subsequent invocations.

In order to build the library, cd into hExh and run nix-shell followed by cabal new-build.

TODO

You can’t perform that action at this time.