metaKanren: Towards a Metacircular Relational Interpreter
summary
metaKanren implements a deep relational interpreter for a microKanren-like language and claims to enable metacircular behavior that a shallow embedding cannot. it models source goals explicitly, implements run semantics (run) to collect all answers, and uses odd-but-practical piano numerals for counters. the prototype synthesizes program fragments correctly where shallow translation gives spurious results, but it is slow, lacks disequality and mutual recursion, and needs optimization and grounding to avoid fresh-variable artifacts.
AI-written summary · about
chapters (6)
- 0:00Intro
- 0:14Motivation
- 1:23Natural Solution: Shallow Embedding
- 9:05Deep Embedding
- 15:12Novel technique: External Grounding
- 18:20Limitations
related talks
16mMulti-stage Relational Programming
17mλKanren: Higher-order Logic Programming with Shallow Embedding
20mKanren Light
19mSome Novel miniKanren Synthesis Tasks
26mtypedKanren: Statically Typed Relational Programming with Exhaustive Matching in(…)
40mminiKanren Philosophy
26mCommitting to the bit: Relational programming with semiring arrays and SAT solving
22mA Case Study in Functional Conversion and Mode Inference in miniKanren
