mapcat in 10-seq.clj now uses a defn- mapcat-step helper that walks lazy map results element-by-element (cons + lazy-seq), with explicit arities for 1/2/3/4+ colls. The 4+-coll arity still uses apply to spread colls to map, but apply no longer forces the inner map result. Previously (apply concat (apply map f colls)) forced the lazy map result through core-apply realize-for-iteration, which hung on infinite inputs. The new step-based impl walks one element at a time via first/rest/seq primitives. Re-enabled deferred mapcat infinite-input harness case. 19/19 pass. Gates: lazy-infinite 19/19, conformance 229/229 interpret+self-host (compile 228/229 — 1 pre-existing protocol error), specs 32/32. |
||
|---|---|---|
| .. | ||
| bench | ||
| clojure-stdlib/clojure | ||
| integration | ||
| spec | ||
| support | ||
| unit | ||