package OCanren
Implementation of miniKanren relational (logic) EDSL
Install
Dune Dependency
Authors
Maintainers
Sources
0.3.0.tar.gz
sha256=eaf9624bbdbae8050eb43a48c0e79e97160b83b6f65a543ee1beca4c9f4ff4b2
sha512=e55dd7a3026b1dedcd37f55181059dfa44ad6976d241a1199246ee3c1684dcfdf1ae0c1da32165b5b2eb5748cfc57c906a0f0ebab56d03035a5bb87187a63cf7
Description
The family of miniKanren derivatives has many implementations. This one is typed embedding to OCaml. The original implementation for this is in scheme and can be found at https://github.com/michaelballantyne/faster-miniKanren .
Features:
- disequality constraints
- relational standard library: lists, nats
Published: 03 May 2022
README
README.md
OCanren
is a strongly-typed embedding of relational programming language miniKanren into OCaml. Nowadays, the implementation of OCanren
strongly reminds faster-miniKanren. Previous implementation was based on microKanren with disequality constraints.
See installation instructions, API documentation for more details, and ReadTheDocs for detailed information.
Check our template repository for OCanren projects for faster startup!
Installation
OCanren
is available in main OPAM repository
opam install OCanren --yes
To try out developer version use
opam pin add OCanren --dev-repo --yes
Dependencies (10)
-
mtime
>= "1.1"
- ppx_inline_test
-
OCanren-ppx
>= "0.3.0"
-
GT
>= "0.5"
- logger-p5
-
camlp5
>= "8.00.02"
- ocamlfind
- dune-configurator
-
ocaml
>= "4.10"
-
dune
>= "3"
Dev Dependencies (3)
-
odoc
with-doc
-
ocamlformat
with-test & < "0.22"
-
benchmark
with-test
Used by (2)
-
noCanren
>= "0.3.0~alpha1"
-
OCanren-ppx
= "0.3.0~alpha1"
Conflicts
None
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>
On This Page