jolt/jolt-core/clojure/core
Yogthos e17bcfd0af clojure.string toString coercion; some-fn/ifn? reference semantics; misc host gaps
The clojure.string case fns and searches now take any Object s through its
toString like the reference's ^CharSequence signatures ((upper-case :kw) is
":KW", (capitalize 1) is "1"); nil throws, and a nil substr in
starts-with?/ends-with? throws. some-fn re-ported with the reference
arities: (some-fn) is an arity error and a no-match result is the last
predicate's own falsy value (false, not nil). ifn? covers multimethods,
promises (which are now invocable — calling one delivers, via a cold-path
invoke-arm registry that costs the hot dispatch nothing), and deftypes
implementing IFn's invoke.

One structural find on the way: defmulti/defmethod deferred inside a fn
body (the deftest pattern) interned/resolved in whatever namespace was
current when they RAN, not the one they were written in — the macros now
bake their expansion ns and the setups honor it.

Also: Boolean/Integer/Double wrapper ctors, primitive TYPE statics
(Integer/TYPE etc.), .reduce on collections (IReduce), and Long/TYPE.

cts baseline 5857 -> 5904 pass, 58 -> 28 errors, 57 baselined namespaces —
the string cluster, some-fn, ifn-qmark, boolean-qmark, and reduce
namespaces are all fully clean. 7 JVM-certified corpus rows; spec entry.
2026-07-02 11:38:37 -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 Fix six JVM divergences surfaced by rewrite-clj 2026-07-01 12:25:05 -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 clojure.string toString coercion; some-fn/ifn? reference semantics; misc host gaps 2026-07-02 11:38:37 -04:00
21-coll.clj Numbers-style category dispatch for binary numeric ops 2026-07-02 06:41:45 -04:00
22-coll.clj clojure.string toString coercion; some-fn/ifn? reference semantics; misc host gaps 2026-07-02 11:38:37 -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