We present an implementation of relational programming language miniKanren as a set of combinators and syntax extension for OCaml. The key feature of our approach is polymorphic unification, which can be used to unify data structures of almost 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 relational and functional code integration.
Thu 22 SepDisplayed time zone: Osaka, Sapporo, Tokyo change
16:40 - 17:35
|Ambiguous pattern variables
|Typed Embedding of Relational Language in OCaml