| File | Description |
|---|---|
| make.hl | Top-level load file |
| streams.hl | Library for streams |
| misc.hl | Miscellanea |
| tunify.hl | Unification helper functions |
| solvers.hl | Basic solvers and HO solvers |
| list_solvers.hl | Solvers for lists |
| File | Description |
|---|---|
| itaut.hl | Our ITAUT solver |
| lisp.hl | A lisp like language and quine generator |
| lock.hl | Examples from The Mystery of the Monte Carlo Lock |
| ski.hl | Experiments with SKI combinators (incomplete) |
| lambda.hl | Experiments with lambda-calculus (incomplete) |
| File | Description |
|---|---|
| sexp.hl | Datatype and syntax for sexps |
| File | Description |
|---|---|
| solvers_test.hl | Tests for basic solvers |
| list_solvers_test.hl | Tests for lists solvers |
nix-shell -p hol_light
rlwrap hol_lightloads "update_database.ml";;
load_path := "/Users/maggesi/Devel/HOL" :: !load_path;;
loadt "kanren-light/make.hl";;Build the image:
docker build -t kanren-light Dockeror
docker build --pull --no-cache -t kanren-light Dockerthen start the container:
docker run --rm -it -v "$PWD:/home/opam/work" kanren-lightocaml is started automatically.
Then, load HOL Light:
#use "make.ml";;
load_path := "/home/opam/work" :: !load_path;;
loadt "kanren-light/make.hl";;docker container rm kanren-light
docker run -it -h kanren-light --name kanren-light \
-v "$PWD:/home/opam/work" \
kanren-light screenIn one screen terminal
dmtcp_coordinator -q -p 7779
sIn another screen terminal (C-a c)
dmtcp_launch -q -j -p 7779 ocaml -I `camlp5 -where` -init make.mlOnce finished loading (before checkpoint)
load_path := "/home/opam/work" :: !load_path;;
loads "update_database.ml";;
Gc.compact();;
Back into the first terminal (C-a n to cycle between screen terminals)
c
Commit the docker container:
docker commit -m "With checkpointed HOL" kanren-light kanren-light-ckptdocker container rm kanren-light-ckpt
docker create -it -h kanren-light --name kanren-light-ckpt \
--entrypoint "/home/opam/hol-light/dmtcp_restart_script.sh" \
-v "$PWD:/home/opam/work" \
kanren-light-ckpt
docker start -i kanren-light-ckptThen load kanren light:
loadt "kanren-light/make.hl";;