Typed Embedding of a Relational Language in OCaml

Dmitrii Kosarev
(Saint Petersburg State University)
Dmitry Boulytchev
(Saint Petersburg State University)

We present an implementation of the relational programming language miniKanren as a set of combinators and syntax extensions for OCaml. The key feature of our approach is polymorphic unification, which can be used to unify data structures of arbitrary types. In addition we provide a useful generic programming pattern to systematically develop relational specifications in a typed manner, and address the problem of integration of relational subsystems into functional applications.

In Kenichi Asai and Mark Shinwell: Proceedings ML Family Workshop / OCaml Users and Developers workshops (ML/OCAML 2016), Nara, Japan, September 22-23, 2016, Electronic Proceedings in Theoretical Computer Science 285, pp. 1–22.
Published: 31st December 2018.

ArXived at: https://dx.doi.org/10.4204/EPTCS.285.1 bibtex PDF
References in reconstructed bibtex, XML and HTML format (approximated).
Comments and questions to: eptcs@eptcs.org
For website issues: webmaster@eptcs.org