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.
Dozenten
David Binder
ResearcherDavid Binder (Office: Room B211)
Prof. Klaus Ostermann
HeadKlaus Ostermann
Links
Alma
- Vorlesungsverzeichnis: Link
Struktur der Veranstaltung
The seminar will take place online via BigBlueButton and/or 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.
miniKanren Code
In order to start running miniKanren examples in DrRacket put the following implementation file into a directory:
Create a file myFile.rkt
in the same directory and start with the following incantation:
#lang racket
(require "implementation.rkt")
Termine
- Thursday, 5.11.2020 18:15 via BigBlueButton (First meeting)
- All further meetings will be announced in the forum.