Introduction to relational programming in miniKanren
summary
Hands-on tour of miniKanren (faster-minikanren in Scheme/Racket) that demos core primitives and limits: first-order unification with occurs-check via equal== and run, locally scoped logic vars with fresh, negative constraints like absento and disequality and finite-domain hints, and the operational caveat that reordering conjuncts can turn finite answers into divergence. Shows an evalo interpreter enabling program synthesis (quines, twines) and a small synthesizer (Barlleman) that learns appendo from examples, and outlines performance work (staging, constraints, search) to make it practical.
AI-written summary · about
