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, or ReadTheDocs for detailed information. (All papers about OCanren are not located in the separate repo.)
Check our template repository for OCanren projects for faster startup!
To try out developer version of OCanren and OCanren-ppx both, use
  opam pin add https://github.com/PLTools/OCanren.git --yes
OCanren is available in the main OPAM repository, but it's version may be lagging behind.
  opam install OCanren-ppx OCanren --yes