While many logic programming systems like miniKanren are highly expressive, they suffer from long and unpredictable running times. The challenge comes from the search algorithm being usually an uninformed search. Through the domain of program synthesis we show that it possible to greatly speedup this search by guiding it using […]
Lightning Talks
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)
Internet routing is the process of selecting paths across the Internet to connect the communicating hosts, it is unique in that path selection is jointly determined by a network of independently operated networks, known as domains or Autonomous Systems (ASes), that interconnect to form the Internet. In fact, the present […]
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)
Type systems are a powerful tool in modern programming languages. We argue that, to be successfully adopted by the logic programming community, the first step is to design a type system that is able to catch obvious and relevant errors at compile-time. To do so, we defined a new type […]
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 […]