jolt/jolt-core/clojure/core
Yogthos 780b6474ff core: Stage 3 — leaf batch 3: empty/assoc-in/update-in + interpose/take-nth to the overlay
empty, assoc-in, and update-in move to 20-coll.clj as the canonical recursive
ports; interpose and take-nth move to the lazy tier WITH their canonical
transducer arities (volatile-based), so the seed's td-interpose/td-take-nth
helpers go too. (empty lazy-seq) is () now — the kernel fn returned a bare
host table for it.

keys/vals/empty? stay put for now: they're expander-coupled — 00-syntax's
when/and/or/cond/destructure expanders call them at expansion time, which
happens during the kernel-tier compile, before any later tier exists. They
move when early defns get the staged-recompile treatment macros already have.

26 new spec rows (incl. transducer arities through sequence/into and laziness
checks against (range)). Gate green: conformance 326x3, suite >= baseline,
full jpm test.
2026-06-10 15:26:41 -04:00
..
00-kernel.clj Compiler research (#10) 2026-06-09 07:30:25 +08:00
00-syntax.clj Jank derived spec tests (#17) 2026-06-10 09:39:33 +08:00
10-seq.clj Compiler research (#10) 2026-06-09 07:30:25 +08:00
20-coll.clj core: Stage 3 — leaf batch 3: empty/assoc-in/update-in + interpose/take-nth to the overlay 2026-06-10 15:26:41 -04:00
25-sorted.clj core: Stage 3 — sorted collections are pure Clojure (canonical port) 2026-06-10 14:39:02 -04:00
30-macros.clj core: Stage 3 turn 2b — host IO, ns introspection, thread-binding family 2026-06-10 12:53:47 -04:00
40-lazy.clj core: Stage 3 — leaf batch 3: empty/assoc-in/update-in + interpose/take-nth to the overlay 2026-06-10 15:26:41 -04:00
50-io.clj core: Stage 3 — the *in* reader family is Clojure (50-io tier) 2026-06-10 14:52:40 -04:00