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)
Authors | Dmitrii Kosarev https://github.com/Kakadu and JetBrains Research https://research.jetbrains.org |
---|---|
License | LGPL-2.1-only |
Published | |
Homepage | https://github.com/JetBrains-Research/OCanren |
Issue Tracker | https://github.com/JetBrains-Research/OCanren/issues |
Maintainer | Dmitrii 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 |
Edit | https://github.com/ocaml/opam-repository/tree/master/packages/OCanren-ppx/OCanren-ppx.0.3.0~alpha1/opam |
Required by
- noCanren>=0.3.0~alpha1