~/talk

μKanren: Running the Little Things Backwards

github:ttbodil
slides:none on file

Implements μKanren in Clojure from first principles: builds logic variables, walk/unify, mzero/unit streams, call/fresh, bind/mplus and lazy closures to avoid stack overflow. Demonstrates lazy streams with interleaving so two infinite solutions (fives and sixes) alternate, and shows append relation running backwards to produce six distinct splits of [1 2 3 4 5]. Delivers working code (run/fresh macros, take n) and reproduces the paper’s microKanren behavior within a short live-coding session.

AI-written summary · about

  1. 0:00Introduction
  2. 1:48Relational Programming
  3. 2:14Concatenation
  4. 4:32State State
  5. 5:41State Lists
  6. 7:33Fundamental Operations
  7. 8:07Conjunction
  8. 9:17Functions
  9. 10:39Compilers
  10. 11:04Questionmarks
  11. 11:38Function walk
  12. 13:24Bindings
  13. 14:28Unified Values
  14. 15:03Unified Lists
  15. 22:36recursive concatenation
  16. 22:47bind
  17. 25:37add function
  18. 26:36infinity of answers
  19. 27:02infinite loop
  20. 28:38unwrap
  21. 32:00infinity list
  22. 32:12closing conference
  23. 33:34append a
  24. 34:05destruction
  25. 34:40terminating clause
  26. 35:10head and tail
  27. 36:26closure
  28. 39:06conclusion
~/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.