Fork me on GitHub

@ghadi I believe it’s not a choice of registers vs locals. With a PEG parser you have ordered choice so I suppose than in (/ A B) you first try to parse A then backtrack and try B. In Seqexp | is non-deterministic so I have to represent concurrent “threads” (and deduplicate them). It’s in the deduplication part that determinism is brought back by keeping submatches of the “leftmost" (according to the choice tree) thread.


So because threads are data, It wasn’t possible to use locals.


not possible to spec lambdas? i suppose you could validate it the body of the lambda via assert

Alex Miller (Clojure team)16:03:19

depending what you mean, you can spec a function with fspec


right, I mean specing something like f in (let [f (fn [x] ...)])


how can i generate a json schema from a clojure spec


after spec takes over the world for describing data - i hope rich, alex, et al take on session types / protocol specs 🙂


I'd love to see a spec-take on "isa?", "subset of?", etc.