OCanren-ppxversion

Implementation of miniKanren relational (logic) EDSL: PPX extensions

PPX rewriters for writing relational programs more conveniently.

1) ppx_fresh -- a clone of original miniKanren syntax

fresh (x...) goal

expands into

Fresh.numeral (fun x ... -> goal)

2) ppx_distrib for easier generation of type-safe smart constructors and reifiers...

[%%distrib type nonrec _ t = fully_abstract_type type ground = ... ]

3) ppx_repr for testing. Expands REPR(expr) to (string_of_expr expr, expr)

AuthorsDmitrii Kosarev https://github.com/Kakadu and JetBrains Research https://research.jetbrains.org
LicenseLGPL-2.1-only
Published
Homepagehttps://github.com/JetBrains-Research/OCanren
Issue Trackerhttps://github.com/JetBrains-Research/OCanren/issues
MaintainerDmitrii Kosarev Kakadu@pm.me
Dependencies
Source [http] https://github.com/JetBrains-Research/OCanren/archive/refs/tags/0.3.0.tar.gz
sha256=eaf9624bbdbae8050eb43a48c0e79e97160b83b6f65a543ee1beca4c9f4ff4b2
sha512=e55dd7a3026b1dedcd37f55181059dfa44ad6976d241a1199246ee3c1684dcfdf1ae0c1da32165b5b2eb5748cfc57c906a0f0ebab56d03035a5bb87187a63cf7
Edithttps://github.com/ocaml/opam-repository/tree/master/packages/OCanren-ppx/OCanren-ppx.0.3.0/opam
Required by