jolt/host/chez
Yogthos 77026fa9ec Chez Phase 2 (inc U): list? + map-entry-as-vector + clojure.walk (jolt-75sv)
list? was nil on Chez because one cseq record backs both lists and lazy/
realized seqs. Add a list? marker field (cseq v2) set only on the HEAD cell
of a list -- (list ...), quoted list literals, cons, reverse, conj onto a
list. rest/next/seq/map therefore yield unmarked seq cells, so they are
seqs and not list?, matching the seed (where rest-of-a-list is a non-list
seq). Empty () is treated as a list.

vector?: drop the map-entry exclusion. Clojure's MapEntry implements
IPersistentVector and the seed agrees -- (vector? (first {:a 1})) is true.
Only dot-forms' coll dispatch read jolt-vector?, where a 2-vector entry is
correct.

clojure.walk + clojure.template join the prelude stdlib tier. The driver
now evals each stdlib ns's requires -- and the ns form's (:require ...)
clause -- so an aliased ref (template's walk/postwalk-replace) resolves at
emit time instead of lowering to an Unknown class host-static. ns forms are
evaled for that side effect but not emitted, so the runtime *ns* doesn't
leak to the last stdlib ns.

Parity 2163 -> 2176, 0 new divergences. New test/chez/_walk.janet 39/39.
2026-06-19 09:30:18 -04:00
..
atoms.ss Chez Phase 2 (inc S): atom watches + validators (jolt-mn9o) 2026-06-19 04:33:07 -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
converters.ss Chez inc 3m: numeric-edge literal emit + variadic assoc! 2026-06-17 22:32:02 -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 Phase 2 (inc U): list? + map-entry-as-vector + clojure.walk (jolt-75sv) 2026-06-19 09:30:18 -04:00
dyn-binding.ss Chez Phase 2 (inc M): dynamic var binding (jolt-2o7x) 2026-06-18 18:29:55 -04:00
dynamic-vars.ss Chez Phase 1 (increment 3r): dynamic-var constants 2026-06-18 01:43:16 -04:00
emit.janet Chez Phase 2 (inc Q): Java class statics + constructors (jolt-avt6) 2026-06-18 23:24:01 -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-static.ss Chez Phase 2 (inc Q): Java class statics + constructors (jolt-avt6) 2026-06-18 23:24:01 -04:00
host-table.ss Chez Phase 2 (inc F): jolt.host ref primitives + sorted collections 2026-06-18 13:14:13 -04:00
jolt-chez.janet Chez Phase 2 (inc U): list? + map-entry-as-vector + clojure.walk (jolt-75sv) 2026-06-19 09:30:18 -04:00
lazy-bridge.ss Chez Phase 2 (inc M): dynamic var binding (jolt-2o7x) 2026-06-18 18:29:55 -04:00
multimethods.ss Chez Phase 1 (increment 3q): multimethod dispatch + late-bind 2026-06-18 01:24:01 -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 I+J): first-class vars + scalar natives 2026-06-18 15:44:10 -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-seq.ss Chez Phase 1 (increment 3o): transducer arities 2026-06-17 23:51:06 -04:00
natives-str.ss Chez Phase 2 (inc R): . / .-field dot-form desugar (jolt-kuic) 2026-06-19 00:32:30 -04:00
natives-xform.ss Chez Phase 2 (inc H): volatiles + sequence/transduce 2026-06-18 14:47:03 -04:00
ns.ss Chez Phase 2 (inc K): namespace value model (jolt-yxqm) 2026-06-18 16:49:35 -04:00
post-prelude.ss Chez Phase 2 (inc S): atom watches + validators (jolt-mn9o) 2026-06-19 04:33:07 -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
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 Phase 2 (inc T): class native + bare class-token resolution (jolt-13zk) 2026-06-19 08:41:45 -04:00
seq.ss Chez Phase 2 (inc U): list? + map-entry-as-vector + clojure.walk (jolt-75sv) 2026-06-19 09:30:18 -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