jolt/host/chez/java
Yogthos 6e333b3020 Hierarchy fns follow the reference contracts; deftype classes join the class graph
derive/underive/ancestors/descendants/parents/isa? re-ported from
clojure.core with the argument assertions and throw contracts intact:
derive asserts tag/parent shapes (AssertionError) and throws on redundant
or cyclic derivation; underive/derive on a non-hierarchy value throw at the
parents lookup (the map is called as a function, like the reference);
(descendants h SomeClass) throws UnsupportedOperationException. isa? gains
the reference's supers arm (a relationship derived on a class's super
applies to the class).

The class arms now answer fully through the one class graph: parents of a
class are its direct supers (bases), ancestors are the transitive set
rooted at java.lang.Object for concrete classes (interfaces are marked and
don't root at Object, matching getSuperclass semantics). deftype/defrecord
classes register into the graph at definition — protocol interfaces they
implement appear as supers (JVM-munged ns spelling), records carry the
record interfaces (IRecord/IPersistentMap/... whose closure supplies
Associative/Seqable), bare deftypes carry IType. The type NAME var still
holds the ctor (a jolt-ism); class-key maps it back to the class so
(ancestors TypeName)/(isa? x TypeName) work. canonical-host-tag learned to
NOT canonicalize deftype names through the graph arm (extend-type on a
deftype was registering under the bare segment its values never report).

Five old corpus rows used non-namespaced derive tags that throw on the JVM
too; now namespaced. 8 new JVM-certified corpus rows; spec entries for the
hierarchy family; cts baseline 5730 -> 5781 pass (ancestors/derive/
descendants/parents/underive namespaces fully clean), 74 baselined
namespaces.
2026-07-02 08:48:30 -04:00
..
async.ss core.async: higher-level API over native channels + two general fixes 2026-06-27 13:05:19 -04:00
bigdec.ss Numbers-style category dispatch for binary numeric ops 2026-07-02 06:41:45 -04:00
byte-buffer.ss Group the JVM interop shims under host/chez/java/ 2026-06-25 18:35:44 -04:00
class-hierarchy.ss Hierarchy fns follow the reference contracts; deftype classes join the class graph 2026-07-02 08:48:30 -04:00
concurrency.ss Don't abort startup on Windows resolving POSIX signal fns 2026-07-01 14:23:19 -04:00
dot-forms.ss Resolve .method calls through a priority arm registry 2026-07-01 15:52:24 -04:00
ffi.ss Group the JVM interop shims under host/chez/java/ 2026-06-25 18:35:44 -04:00
host-class.ss spec.alpha: reify ILookup get, NPE/CCE, quoted #inst/#uuid, anon-fn class, kwargs map 2026-06-27 21:56:04 -04:00
host-static-classes.ss Hierarchy fns follow the reference contracts; deftype classes join the class graph 2026-07-02 08:48:30 -04:00
host-static-methods.ss Fix six JVM divergences surfaced by rewrite-clj 2026-07-01 12:25:05 -04:00
host-static.ss Throw typed exceptions; one exception hierarchy 2026-07-01 16:06:00 -04:00
inst-time.ss Resolve .method calls through a priority arm registry 2026-07-01 15:52:24 -04:00
io-streams.ss Group the JVM interop shims under host/chez/java/ 2026-06-25 18:35:44 -04:00
io.ss Resolve .method calls through a priority arm registry 2026-07-01 15:52:24 -04:00
java-time.ss java.time: complete LocalTime/LocalDate/Year/YearMonth ChronoField coverage (#239) 2026-06-26 19:12:40 +00:00
math.ss Group the JVM interop shims under host/chez/java/ 2026-06-25 18:35:44 -04:00
natives-array.ss Chunk range/map/filter to match JVM Clojure 2026-06-29 22:02:06 -04:00
natives-queue.ss Group the JVM interop shims under host/chez/java/ 2026-06-25 18:35:44 -04:00
natives-str.ss General fixes shaken out by running core.logic's test suite 2026-06-27 09:20:11 -04:00
records-interop.ss Throw typed exceptions; one exception hierarchy 2026-07-01 16:06:00 -04:00