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-alpha1.tar.gz
sha256=d530d7e64c2858796c9c3b366702d2afa96097ea0815c0c7b9b185c41c0c7db9
sha512=ff200d35f72d9ce50c862d63291c3bc6a0e9544426cf72678e2a28553110ca88382a13868af16e62526a3f8d8ba33193be023b2a8a60053f3cb21794063411f4
Edithttps://github.com/ocaml/opam-repository/tree/master/packages/OCanren-ppx/OCanren-ppx.0.3.0~alpha1/opam
Required by