vix.ing · top · new · best · stats

Typed Embedding of a Relational Language in OCaml

2018/05/31 by Dmitrii Kosarev, Dmitry Boulytchev
Computer Science · #cs.PL

paper · pdf · doi:10.4204/eptcs.285.1

published as EPTCS 285, 2018, pp. 1-22 · In Proceedings ML/OCAML 2016, arXiv:1812.10891

arxiv created 2018/12/31 · arxiv updated 2019/01/01

Abstract

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.

Citations