Some Novel miniKanren Synthesis Tasks
summary
A mirrored relational interpreter for a second language is implemented and used to synthesize quines, polyglot programs valid under both interpreters, and palindromic syntax-tree variants; queries produce concrete examples and reveal a surprising performance disparity depending on query order. The system finds two-cycle and longer quine relays (including a discovered three-cycle of distinct programs), generates a relational-definition quine via a four-argument relation, and publishes source and listings that actually run.
AI-written summary · about
chapters (11)
- 0:00miniKanren synthesis tasks
- 3:15Mirrored interpreter design
- 6:20Polyglot programs with miniKanren
- 8:32Palindromic syntax trees
- 9:16Twine-like evaluation
- 11:03Equine relay cycles
- 12:05Three-cycle queries
- 14:54Polyglot quine relays
- 16:24Self-reproducing programs
- 17:23miniKanren quine trick
- 18:50Conclusion
related talks
16mMulti-stage Relational Programming
40mminiKanren Philosophy
47mLogic Programming à la Carte
22mA Case Study in Functional Conversion and Mode Inference in miniKanren
26mCommitting to the bit: Relational programming with semiring arrays and SAT solving
26mtypedKanren: Statically Typed Relational Programming with Exhaustive Matching in(…)
18mMobius: Synthesizing Relational Queries with Recursive and Invented Predicates
24mAll for one and none forall: Compiling polymorphic relations without(…)
