jolt/jolt-core/clojure/core
Dmitri Sotnikov 687dc60af6
type returns the JVM class (Clojure semantics) (#244)
(type x) was jolt's internal taxonomy keyword (:string/:set/:jolt/inst), which
breaks any library dispatching a multimethod on [(type a) (type b)] against
java/clojure.lang classes (e.g. clojure.tools.logging.test's matchers). Make the
PUBLIC clojure.core/type Clojure's (or (:type meta) (class x)).

The taxonomy keyword stays the core model: natives-meta.ss keeps jolt-type and
exposes it as __type-tag, which print-method/print-dup dispatch on (so #uuid/#regex/
records still print). The JVM mapping lives in the java host layer — host-class.ss
defines the public type next to (class …), and a jinst now reports java.util.Date
(was :jolt/inst). So the core emits the taxonomy and the java layer remaps it in one
place. unit.edn's type suite updated to the class names. make test green.

Co-authored-by: Yogthos <yogthos@gmail.com>
2026-06-26 21:14:06 +00:00
..
00-kernel.clj Host interop fixes: ==/time/subvec/defonce + corpus cleanup 2026-06-21 15:36:41 -04:00
00-syntax.clj defn docstrings, assert throws AssertionError, Seqable covers collections 2026-06-25 17:23:24 -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 Class/forName honesty + class/isa? conformance for builtins (#243) 2026-06-26 21:02:44 +00:00
21-coll.clj Group the JVM interop shims under host/chez/java/ 2026-06-25 18:35:44 -04:00
22-coll.clj Collection fns: JVM-faithful return types + laziness (#219) 2026-06-26 03:01:36 +00: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 Fixed-arity protocol dispatch shims (#223) 2026-06-26 05:57:42 +00:00
40-lazy.clj Collection fns: JVM-faithful return types + laziness (#219) 2026-06-26 03:01:36 +00:00
50-io.clj type returns the JVM class (Clojure semantics) (#244) 2026-06-26 21:14:06 +00:00