~/talk

Towards Bottom-Up Enumeration in miniKanren via Pruning and Memoization

Talkat miniKanren 2026 · on Monday, 2026-08-24· [compilers-and-language-design]
slides:none on file

Two small combinators implement bottom‑up enumeration with observational deduplication on an unmodified miniKanren core: prune deduplicates answers by a user‑supplied key (here a host interpreter on ground terms) and defrel/bank memoizes canonical calls so a single pruned stream is replayed at every call site; a weighted variant defrel/bank-w adds admissible upper bounds. On toy PBE tasks using inputs 2,3,4, naive enumeration touches ~500k candidates and finds 1+x^3 in ~7s while 1+x^4 times out at 30s; bank speeds most deep targets but regresses on a right‑biased family.

AI-written summary · about

  1. 0:00Introduction
  2. 0:20Bottom-up enumeration motivation
  3. 3:06Program synthesis challenges
  4. 7:23Prune combinator for duplication
  5. 12:01Nested pruning and variables
  6. 15:43Memoization with defrail/bank
  7. 17:10Recursive relations tricks
  8. 18:13Best-first search with defro/bank-w
  9. 20:52Benchmarks and results
  10. 23:43Approaches comparison
  11. 25:08Future work
  12. 26:54Conclusion
  13. 27:58Q&A
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.