https://github.com/hipsleek/Heifer
effects system for continuation
https://github.com/hipsleek/Heifer
Last synced: 8 months ago
JSON representation
effects system for continuation
- Host: GitHub
- URL: https://github.com/hipsleek/Heifer
- Owner: hipsleek
- License: mit
- Created: 2021-06-26T06:51:36.000Z (over 4 years ago)
- Default Branch: StagedSL
- Last Pushed: 2024-07-29T02:02:12.000Z (over 1 year ago)
- Last Synced: 2024-08-03T01:28:21.704Z (over 1 year ago)
- Language: OCaml
- Homepage: https://hipsleek.github.io/Heifer/
- Size: 62.3 MB
- Stars: 12
- Watchers: 6
- Forks: 3
- Open Issues: 9
-
Metadata Files:
- Readme: README-bk.md
- License: LICENSE
Awesome Lists containing this project
- awesome-list - AlgebraicEffect
README
# Heifer
Heifer is a new verifier for effectful higher-order programs.
## Build
You will need OCaml 5.
```sh
opam install . --deps-only
```
Use `dune exec parsing/hip.exe $EXAMPLE` to run examples. Effect-related programs are in [src/evaluation](src/evaluation), higher-order programs are in [src/examples](src/examples).
## Docs
- [Development](docs/development.md)
- [Why3](docs/why3.md)
- [How the web build works](docs/web.md)
## SYH - Build
```
opam switch 5.0.0
brew install python3
opam install dune menhir ppx_deriving ppx_expect brr js_of_ocaml-compiler unionFind visitors z3
sudo npm install browserify -g
which browserify
dune build
dune test
```
```
cd parsing
ocamllex lexer.mll
menhir parser.mly
dune exec parsing/hip.exe src/evaluation/0_heap_zero_once_twice.ml
```
dune exec parsing/hip.exe src/demo/1_State_Monad.ml
dune exec parsing/hip.exe src/demo/2_Inductive_Sum.ml
dune exec parsing/hip.exe src/demo/3_Deep_Right_Toss.ml
dune exec parsing/hip.exe src/demo/4_Deep_Left_Toss.ml
dune exec parsing/hip.exe src/demo/5_Shallow_Right_Toss.ml
dune exec parsing/hip.exe src/demo/6_Shallow_Left_Toss.ml
dune exec parsing/hip.exe src/demo/7_amb.ml
dune exec parsing/hip.exe src/demo/8_schduler.ml