jolt/jolt-core/clojure/core
Yogthos 403c3f302f Clojure 1.13 parity: req!, checked-keys destructuring, keyword array maps
Bring the language up to the 1.13.0-alpha1 changes that apply off the JVM:

- req! (CLJ-2949): a get-variant that throws "Expected key: k" on a missing
  key, without nil-punning. The primitive behind checked destructuring.
- Checked-keys destructuring (CLJ-2961): :keys!/:syms!/:strs! bind and throw
  when a key is absent; keys after & are declared-only (required for the !
  variants, accepted otherwise) and create no binding.
- & is no longer a legal local binding in let/loop (CLJ-2954).
- Keyword-only array maps grow to 64 entries before going hash (was 8),
  across the literal, assoc, and transient paths, so the common keyword map
  keeps insertion order up to 64.

Skipped CLJ-2891 (JVM __init bytecode, JVM-only). 1.13 is still alpha, so
this tracks alpha1 and may shift. Regression tests in test/chez/unit.edn
(ahead of the JVM 1.12.5 the corpus certifies against). Seed re-minted.
2026-07-04 10:18:51 -04:00
..
00-kernel.clj Migrate clojure.core/set from a native shim to the kernel overlay tier 2026-06-30 10:35:57 -04:00
00-syntax.clj Clojure 1.13 parity: req!, checked-keys destructuring, keyword array maps 2026-07-04 10:18:51 -04:00
10-seq.clj Clean up codebase: rename stdlib layer, strip porting residue, fix tooling 2026-06-22 22:18:00 -04:00
20-coll.clj Contract fixes from the baseline audit; every residual suite failure traced 2026-07-02 13:52:59 -04:00
21-coll.clj rand-nth follows the reference shape; refresh doc counts and the corpus floor 2026-07-02 14:46:13 -04:00
22-coll.clj Clojure 1.13 parity: req!, checked-keys destructuring, keyword array maps 2026-07-04 10:18:51 -04:00
25-sorted.clj Clean up codebase: rename stdlib layer, strip porting residue, fix tooling 2026-06-22 22:18:00 -04:00
30-macros.clj clojure.string toString coercion; some-fn/ifn? reference semantics; misc host gaps 2026-07-02 11:38:37 -04:00
40-lazy.clj Match Clojure's lazy seq realization model 2026-06-26 19:41:02 -04:00
50-io.clj type returns the JVM class (Clojure semantics) (#244) 2026-06-26 21:14:06 +00:00