jolt/stdlib/clojure
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
..
core core.async: higher-level API over native channels + two general fixes 2026-06-27 13:05:19 -04:00
sci Clean up codebase: rename stdlib layer, strip porting residue, fix tooling 2026-06-22 22:18:00 -04:00
data.clj Clean up codebase: rename stdlib layer, strip porting residue, fix tooling 2026-06-22 22:18:00 -04:00
edn.clj edn: read raw forms so a #tag goes through :readers/:default 2026-06-27 01:15:33 -04:00
pprint.clj Port real clojure.pprint (pretty-printer + cl-format) 2026-06-24 16:09:09 -04:00
set.clj deftype/record: clojure.lang collection interfaces + protocol identity 2026-06-25 00:14:19 -04:00
string.clj clojure.string toString coercion; some-fn/ifn? reference semantics; misc host gaps 2026-07-02 11:38:37 -04:00
template.clj Run core.memoize's test suite on jolt 2026-06-25 13:23:05 -04:00
test.clj clojure.test/are substitutes via clojure.template 2026-07-02 05:57:57 -04:00
walk.clj Fix six JVM divergences surfaced by rewrite-clj 2026-07-01 12:25:05 -04:00
zip.clj data.zip: add clojure.zip/xml-zip; clojure.xml lives in jolt-lang/xml 2026-06-27 14:49:49 -04:00