jolt/host/chez
Yogthos 4b4d677fe4 Chez corpus: eval ACTUAL top-level so runtime defmacro cases run (jolt-cf1q.7)
The zero-Janet runner wrapped each case as (= EXPECTED ACTUAL) and checked the
result was true. That nests ACTUAL's top-level (do ...), so a case like
(do (defmacro m ...) (m 1)) can't use the macro it just defined — the analyzer
punted defmacro -> "uncompilable" (35 cases).

Match certify.clj's eval-isolated instead: carry EXPECTED and ACTUAL as separate
sources and evaluate ACTUAL as its own top-level program (jolt-compile-eval unrolls
the top-level do, so a macro defined earlier is usable later), then compare to
EXPECTED with =. Evaluating ACTUAL from SOURCE (not (eval (quote A))) preserves the
reader's map-literal source order, so the eval-order cases still pass.

eval-corpus-zero-janet / program-corpus-zero-janet now use a 3-field TSV
(label/expected/actual); run-corpus-zero-janet's per-case debug path evals both
sides too. Only run-corpus-zero-janet uses these (the prelude gate is untouched).

zero-Janet 2642->2673 (analyzer "uncompilable" 35->4); 1 new allowlisted divergence
(`{:a ~x :b ~y} syntax-quote map construction doesn't preserve source eval order —
pmap is unordered). Janet gate + JVM cert green.

jolt-cf1q.7
2026-06-20 16:53:20 -04:00
..
seed Chez concurrency pt.1: real OS-thread futures + blocking promises (shared heap) 2026-06-20 13:11:31 -04:00
async.ss Chez concurrency pt.2: clojure.core.async on real-thread blocking channels 2026-06-20 13:48:10 -04:00
atoms.ss Chez concurrency pt.1: real OS-thread futures + blocking promises (shared heap) 2026-06-20 13:11:31 -04:00
bootstrap.ss Chez Phase 3 inc9a: self-contained Chez bootstrap (no Janet in the loop) 2026-06-20 06:46:05 -04:00
cli.ss Chez Phase 3 inc9b: pure-Chez runtime CLI (bin/joltc, no Janet) 2026-06-20 06:53:05 -04:00
collections.ss Chez Phase 2 (inc U): list? + map-entry-as-vector + clojure.walk (jolt-75sv) 2026-06-19 09:30:18 -04:00
compile-eval.ss Chez: runtime eval / load-string / defmacro on the zero-Janet spine 2026-06-20 12:14:08 -04:00
concurrency.ss Chez concurrency pt.3: async agents (per-agent serialized dispatch) 2026-06-20 14:22:37 -04:00
converters.ss Chez Phase 3 inc7: corpus on the Chez-hosted analyzer + a 50x-faster gate 2026-06-20 01:11:54 -04:00
dot-forms.ss Chez Phase 2 (inc R): . / .-field dot-form desugar (jolt-kuic) 2026-06-19 00:32:30 -04:00
driver.janet Chez corpus: eval ACTUAL top-level so runtime defmacro cases run (jolt-cf1q.7) 2026-06-20 16:53:20 -04:00
dyn-binding.ss Chez concurrency pt.1: real OS-thread futures + blocking promises (shared heap) 2026-06-20 13:11:31 -04:00
dynamic-vars.ss Chez Phase 1 (increment 3r): dynamic-var constants 2026-06-18 01:43:16 -04:00
emit-image.ss Chez: runtime eval / load-string / defmacro on the zero-Janet spine 2026-06-20 12:14:08 -04:00
emit.janet Chez Phase 2 (inc X): #inst / #uuid literals + java.time (jolt-at0a) 2026-06-19 11:05:22 -04:00
host-class.ss Chez Phase 2 (inc T): class native + bare class-token resolution (jolt-13zk) 2026-06-19 08:41:45 -04:00
host-contract.ss Chez: runtime eval / load-string / defmacro on the zero-Janet spine 2026-06-20 12:14:08 -04:00
host-static.ss Chez concurrency pt.1: real OS-thread futures + blocking promises (shared heap) 2026-06-20 13:11:31 -04:00
host-table.ss Chez Phase 2 (inc F): jolt.host ref primitives + sorted collections 2026-06-18 13:14:13 -04:00
inst-time.ss Chez Phase 2 (inc X): #inst / #uuid literals + java.time (jolt-at0a) 2026-06-19 11:05:22 -04:00
io.ss Chez Phase 2 (inc W): reader-coupled io (jolt-at0a) 2026-06-19 10:40:19 -04:00
jolt-chez.janet Chez Phase 3 inc6b: runtime macros on the zero-Janet spine 2026-06-19 23:21:13 -04:00
lazy-bridge.ss Chez Phase 2 (inc M): dynamic var binding (jolt-2o7x) 2026-06-18 18:29:55 -04:00
math.ss Chez Phase 2: clojure.set + clojure.math + pprint (jolt-j5vg, jolt-22vo) 2026-06-19 17:06:26 -04:00
multimethods.ss Chez Phase 1 (increment 3q): multimethod dispatch + late-bind 2026-06-18 01:24:01 -04:00
natives-array.ss Chez parity: Java arrays + reader/macroexpand fns (jolt-cf1q.7) 2026-06-20 16:35:32 -04:00
natives-coll.ss Chez Phase 2 (inc A): collection ctors + real map entries 2026-06-18 10:44:33 -04:00
natives-meta.ss Chez Phase 2 (inc N): type (jolt-fmm4) 2026-06-18 19:40:17 -04:00
natives-misc.ss Chez Phase 2 (inc X): #inst / #uuid literals + java.time (jolt-at0a) 2026-06-19 11:05:22 -04:00
natives-num.ss Chez Phase 2 (inc C): bit ops + parse-long/parse-double 2026-06-18 11:20:56 -04:00
natives-parity.ss Chez parity: Java arrays + reader/macroexpand fns (jolt-cf1q.7) 2026-06-20 16:35:32 -04:00
natives-seq.ss Chez Phase 1 (increment 3o): transducer arities 2026-06-17 23:51:06 -04:00
natives-str.ss Chez parity: missing native core fns + ns runtime fns (jolt-cf1q.7) 2026-06-20 15:46:11 -04:00
natives-xform.ss Chez Phase 2 (inc H): volatiles + sequence/transduce 2026-06-18 14:47:03 -04:00
ns.ss Chez parity: missing native core fns + ns runtime fns (jolt-cf1q.7) 2026-06-20 15:46:11 -04:00
post-prelude.ss Chez concurrency pt.3: async agents (per-agent serialized dispatch) 2026-06-20 14:22:37 -04:00
predicates.ss Chez Phase 2 (inc U): list? + map-entry-as-vector + clojure.walk (jolt-75sv) 2026-06-19 09:30:18 -04:00
printing.ss Chez Phase 2 (inc B): readable printer + output seams 2026-06-18 11:20:56 -04:00
reader.ss Chez inc7: reader features — ##Inf/##NaN, #(...), #?(...), ns :require aliases 2026-06-20 01:57:36 -04:00
records.ss Chez Phase 2 (inc O): host String methods (jolt-nfca) 2026-06-18 20:36:39 -04:00
regex.ss Chez Phase 1 (increment 3p): misc seq/regex gaps + bug tracking 2026-06-18 00:44:21 -04:00
rt.ss Chez parity: Java arrays + reader/macroexpand fns (jolt-cf1q.7) 2026-06-20 16:35:32 -04:00
seq.ss Chez parity: missing native core fns + ns runtime fns (jolt-cf1q.7) 2026-06-20 15:46:11 -04:00
syntax-quote.ss Chez Phase 3 inc6b: runtime macros on the zero-Janet spine 2026-06-19 23:21:13 -04:00
transients.ss Chez Phase 1 (increment 3p): misc seq/regex gaps + bug tracking 2026-06-18 00:44:21 -04:00
values.ss Chez Phase 1 (increment 3b): seq tier + dynamic IFn dispatch on the Chez RT 2026-06-17 15:19:18 -04:00
vars.ss Chez Phase 2 (inc I+J): first-class vars + scalar natives 2026-06-18 15:44:10 -04:00