Nocksche and Nocko
summary
Two novel implementations demonstrate concrete choices and consequences: Nocksche in Racket and Nocko in miniKanren implement the full Nock rules, encode SKI to prove universality, and produce a working quine that uses only the tree index rule. Key implementation decisions include tagging naturals, enforcing right‑associative normalization versus shallow grouping, and treating the calculus as strict so B subexpressions must evaluate. The exercise exposes spec ambiguities around first‑match pattern ordering and requires explicit partitioning in the relational version.
AI-written summary · about
chapters (13)
- 0:00Nock and Nocko introduction
- 1:23Industry and academic uses
- 4:53Valid Nock expressions
- 7:40Nock as runner or operator
- 10:34Strictness in Nock reduction
- 12:20Scheme vs Min-Canon matching
- 14:49Right associativity in Nock
- 17:21Nock as stack combinator
- 20:32Nock Quines implementation
- 23:00Nock future work
- 25:29Q&A on implementation
- 26:14Nock implementation challenges
- 27:15Nock edge cases
