## miniKanren and its formal semantics

**Dmitry Rozplokhas**

JetBrains, St Petersburg

**Wednesday 22 May 2019**

**13:00 - 14:00**

**1.82 Earl Mountbatten Building**

### Abstract

miniKanren is a small logic programming language which aims to be a
light-weight and purely declarative alternative to Prolog. The main
field of application for miniKanren is “relational programming” —
the technique of writing programs as mathematical relations rather
than mathematical functions. Programs written in this way have a few
interesting features, such as an ability to be “run backwards”
(synthesize arguments from the result).

In the first part of the talk, I am going to give a short overview
of the language. We will discuss its advantages and disadvantages,
look at some simple examples of programs in miniKanren as well as
state-of-the-art applications of relational programming. In the
second part of the talk, I will describe the project I am currently
involved in: providing formal semantics — rigorous mathematical
description — to miniKanren programs and using it to prove some
properties of program execution in the language.

**Host: Katya Komendantskaya**
Host: web pages