Write the Other Half of Your Program
summary
A tool converts carefully written functions into mini canron relations by systematically adding an output argument, replacing conditionals with coni/cond-style clauses, and inserting fresh variables; the process is mostly automatic with one small manual adjustment for recursive-call order. The demo builds Appo and Union, runs queries to enumerate answers, and exposes a real bug — duplicate preservation — which leads to found and fixed input constraint bug and iterative retesting until behavior matches the original function.
AI-written summary · about
chapters (9)
- 0:00Introduction to miniKanren
- 6:33Translating app to Appo
- 11:09Relational programming goals
- 14:26Union function transformation
- 17:39Refining the relation
- 25:54Manual conversion process
- 30:01Debugging relations
- 36:25Automated transformation tool
- 37:49MicroKanren and conclusion
related talks
41m"Do What I Mean": The History of AI and Program Synthesis
27mThe Many Ends of Programming
25mVerifying LLM powered Code Transformations with Equivalence Checking
14mPutting the "fun" in function calling
39mA Little Taste of Dependent Types
38mAutomatically Synthesising Programs that We Can Trust
13mTyped Abstractions for Causal Probabilistic Programming
54mA World Without Programmers?
