1 Introduction
The aim of this tutorial is to demonstrate how to implement miniKanren with constraints in an incremental fashion.
1.1 Target Audience
The reader is assumed to be familiar with programming in Scheme (in particular, syntax-rules style macros) & miniKanren, but no former expereince with implementing miniKanren interpreters is required. Experience with implementing interpreters is useful, but not a hard prerequisite.
1.2 Overview
In this tutorial the logic operators we implement are:
==
fresh
conj
disj
=/=