Programming Languages

Relational Programming with miniKanren

Relational programming is a declarative programming paradigm which is related to logic programming. A relational programm consists of two parts: The first part declares a knowledge database consisting of relations. The second part queries the knowledge database. The miniKanren language is a minimal relational programming language used for teaching. Following the “The Reasoned Schemer” book (second edition), we will learn about relational programming by implementing a version of miniKanren ourselves.

Basic knowledge of a lisp-like language (Racket, BSL, Lisp, Scheme, Clojure,…) is presumed. The seminar is open to motivated BSc students.


David Binder
David Binder
(Office: Room B211)
Prof. Klaus Ostermann
Klaus Ostermann


  • Vorlesungsverzeichnis: Link

Struktur der Veranstaltung

The seminar will take place online via Zoom. In order to receive the zoom link you have to register with David Binder. Send a short email with your name, matrikelnummer, field (Informatik/Bio-Informatik/…) and pursued degree (Bsc/Msc).

In order to encourage a lively discussion each participant will be asked to read the current chapter of the book. Additionally, you have to hand in a short list of questions or problems you would like to have discussed during the weekly session. Details will be discussed during the first meeting.


  • Thursday, 5.11.2020 18:15 via Zoom (First meeting)