jolt/test
Yogthos 206fe94a95 Chez Phase 3 inc 2: quote + collection literals in jolt.backend-scheme
Adds :vector/:map/:set (emit-ordered, left-to-right element eval) and :quote to
the portable Clojure emitter. Collection-literal nodes carry already-analyzed IR
items so they just recurse; quote walks the RAW reader form.

emit-quoted walks the reader form via the jolt.host form-* contract (form-list?/
form-elements/form-vec-items/form-map-pairs/form-set-items/form-sym-*), the same
portable seam the analyzer uses — not host-native predicates, so it works
unchanged whether the form came from the Janet reader or the Chez reader. Reader
forms are raw host representations (Janet list=array, vec=tuple), so native
list?/vector? would not see them; the contract is the correct abstraction and
keeps the emitter host-neutral. Quoted-symbol metadata and def-meta still defer
to inc 3.

Surfaced a latent Janet-host bug (jolt-tg9s): (quote #{...}) evaluates to the raw
reader form instead of a reconstructed set, so (contains? (quote #{:p :q}) :p) is
false on build/jolt. The Chez emitter is correct (real Clojure: true); the parity
test asserts the verified value for those two cases.

Gate: emit-parity 42/42 (incl vector/map/set literals, coll/kw-as-fn, quoted
list/vec/map/set/symbol/nested). emit-test 331/331, conformance 355x3. jolt-7jvp.
2026-06-19 18:01:22 -04:00
..
bench Parallelize the test gate; cache cold-init tests, drop the benchmark from it (#139) 2026-06-16 14:23:02 +00:00
chez Chez Phase 3 inc 2: quote + collection literals in jolt.backend-scheme 2026-06-19 18:01:22 -04:00
clojure-stdlib/clojure Compiler research (#10) 2026-06-09 07:30:25 +08:00
fixtures/cgen-build cgen: single-binary native build via jolt cgen-build (jolt-a7ds) (#150) 2026-06-16 20:34:10 +00:00
integration Chez Phase 1 (increment 3h): host-interop method-call emit 2026-06-17 18:58:44 -04:00
spec Fix seed assoc! to throw on odd args (jolt-ea9k) 2026-06-18 03:27:21 -04:00
support core: AOT context image — init-cached recovers the bootstrap cost across processes 2026-06-10 13:57:37 -04:00
unit Reject a malformed catch clause with a clean error in both modes 2026-06-17 17:25:14 -04:00