jolt/test
Yogthos 502eabdb2d evaluator: recur into a variadic arity binds the rest seq directly (fixes the hang)
(recur (inc acc) (rest xs)) re-entered the fn through its varargs collector,
so the rest seq came back wrapped in a fresh 1-element rest list — xs never
emptied and the interpreter hung (jolt-4df; the compile path was already
correct). recur now re-enters through a dedicated entry that binds the LAST
arg directly as the rest param (n-fixed + 1 args, Clojure's contract), in
both the single-arity and multi-arity fn* paths; the shared body runner keeps
the ns-swap/restore in one place, and fixed arities still re-dispatch through
the arity dispatcher exactly as before.

Six spec rows: the original repro, zero-fixed variadic, rest-empties-to-nil,
multi-arity variadic recur, nil rest, and a fixed-arity control.
2026-06-10 18:23:13 -04:00
..
bench Compiler research (#10) 2026-06-09 07:30:25 +08:00
clojure-stdlib/clojure Compiler research (#10) 2026-06-09 07:30:25 +08:00
integration core: edn :readers/:default opts; uncaught throws no longer leak the callee's ns 2026-06-10 18:16:06 -04:00
spec evaluator: recur into a variadic arity binds the rest seq directly (fixes the hang) 2026-06-10 18:23:13 -04:00
support core: AOT context image — init-cached recovers the bootstrap cost across processes 2026-06-10 13:57:37 -04:00
unit phm: grow the bucket array past load factor 2 (map-read 4.5x recovery) 2026-06-10 17:06:03 -04:00