jolt/host/chez
Yogthos b7158e0690 Chez Phase 2 (inc N): type (jolt-fmm4)
Implement (type x) on the Chez RT (host/chez/natives-meta.ss). Mirrors the
seed's core-type: the :type metadata wins when present, a record yields its
ns-qualified class-name SYMBOL (user.TyR — no-ns sentinel #f so it = the
overlay's (symbol (str t))), everything else a host-taxonomy keyword
(:number/:string/:vector/:map/:set/:seq/:fn/…). Total by construction — a
non-record value falling through to a crash would read as a divergence, so the
cond covers every value type incl. the host wrappers (atom/volatile/regex/var/
transient/uuid -> :jolt/*, a :jolt/type-tagged map like ex-info -> its tag,
sorted-set -> :jolt/sorted-set, sorted-map -> :map) and a final :object.

Also pin sequential?/seq? on lazy seqs (test/chez/_seqpred.janet): the inc M
seq? re-def-var! fix already covers sequential? transitively (sequential? is
overlay and delegates to seq?), so no code change — the earlier "still broken"
note was wrong, it assumed sequential? was native like seq?.

Prelude corpus parity 2000 -> 2002 (the two type cases), floor raised, 0 new
divergences. Gate: _type 37/37 + _seqpred 22/22 (both vs build/jolt oracle),
emit-test 321/321, full jpm test, conformance 355x3.
2026-06-18 19:40:17 -04:00
..
atoms.ss Chez Phase 1 (increment 3n): seq-native shims + reduced 2026-06-17 23:16:26 -04:00
collections.ss Chez Phase 2 (inc A): collection ctors + real map entries 2026-06-18 10:44:33 -04:00
converters.ss Chez inc 3m: numeric-edge literal emit + variadic assoc! 2026-06-17 22:32:02 -04:00
driver.janet Chez Phase 2 (inc H): volatiles + sequence/transduce 2026-06-18 14:47:03 -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 L): var def-time metadata (jolt-zikh) 2026-06-18 17:13:46 -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 L): var def-time metadata (jolt-zikh) 2026-06-18 17:13:46 -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-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 K): namespace value model (jolt-yxqm) 2026-06-18 16:49:35 -04:00
predicates.ss Chez Phase 2 (inc A): collection ctors + real map entries 2026-06-18 10:44:33 -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 N): type (jolt-fmm4) 2026-06-18 19:40:17 -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 M): dynamic var binding (jolt-2o7x) 2026-06-18 18:29:55 -04:00
seq.ss Chez Phase 2 (inc G): lazy-seq bridge (make-lazy-seq / coll->cells) 2026-06-18 13:53:02 -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