Extensions of logic programming
We present an extension of our prior work on certified semantics for core miniKanren, introducing disequality constraints in the language. Semantics is parameterized by an exact definition of constraint stores, allowing us to cover different implementations. We extend our proof of search completeness to this language extension. The description and […]
We report on ongoing work on introducing a mechanism for private types in a higher-order logic programming language such as λProlog. Attachments Abstract Marco Maggesi and Enrico Tassi (124 kB)
We present an approach to pattern matching code generation based on application of relational programming and, in particular, relational interpreters. Attachments Abstract Dmitrii Kosarev and Dmitry Boulytchev (130 kB)
In this paper we research methods of supercompilation in the context of relational program specialization. We implement a supercompiler for miniKanren with different unfolding strategies and compare them. Attachments Abstract Maria Kuklina and Ekaterina Verbitskaia (124 kB)
We present a binding-time analysis algorithm for miniKanren. It is capable to determine the order in which names within a program are bound and can be used to facilitate specialization and as a step of conversion into a functional language. Attachments Abstract Ekaterina Verbitskaia, Irina Artemeva and Daniil Berezun (49 […]
We discuss the problem of cut elimination in an intuitionistic version of Church’s Type Theory with constraints, a problem that arises in considering executable fragments suitable for logic programming. Attachments Abstract Olivier Hermant and James Lipton (129 kB)