jolt/jolt-core/jolt
Yogthos d83175b8c2 Fix conformance gaps: exception types, byte/getBytes, host classes
Shake-out from the conformance-library sweep. Host-side fixes (runtime .ss,
no re-mint) plus one analyzer change (re-minted):

- Exception fidelity: ex-info and host-constructed throwables (RuntimeException.
  etc.) now carry their JVM class, so (class e), instance? across the exception
  hierarchy, .getMessage, and clojure.test thrown?/thrown-with-msg? all work.
- .getBytes returns a seqable/countable byte-array and honors UTF-16/UTF-32;
  String. decodes them. ->bytevector accepts byte-arrays (Base64).
- Universal .getClass / .toString / .indexOf / .lastIndexOf on any value/seq.
- record? uses the host jrec? predicate (the old (get x :jolt/deftype) crashed
  on a sorted-map by invoking its comparator).
- extend-protocol to abstract host types (clojure.lang.Fn/IFn/APersistentVector,
  java.net.URI) dispatches.
- New host classes: clojure.lang.PersistentQueue, java.util.ArrayList,
  java.net.URI, java.io.File / java.util.UUID ctors, Double/Float ctors+statics,
  regex instance? Pattern, System/setProperty.
- *assert* / *print-readably* are real settable/bindable vars.
- (symbol "ns/name") splits the namespace at the last slash.
- letfn fn params desugar destructuring (analyzer; re-minted).

unit.edn gains exinfo/hostobj/queue/hostctor/destructure regression rows.
2026-06-22 17:52:38 -04:00
..
passes Scrub dangling Janet references; drop dead Janet-coupled files 2026-06-21 12:01:04 -04:00
analyzer.clj Fix conformance gaps: exception types, byte/getBytes, host classes 2026-06-22 17:52:38 -04:00
backend_scheme.clj jolt.ffi: a :blocking option for collect-safe foreign calls 2026-06-22 12:00:14 -04:00
deps.clj nREPL: make the built-in server middleware-extensible 2026-06-22 15:37:14 -04:00
ir.clj mutable deftype fields: (set! field val) in a method 2026-06-22 01:19:03 -04:00
main.clj nREPL: make the built-in server middleware-extensible 2026-06-22 15:37:14 -04:00
nrepl.clj nREPL: make the built-in server middleware-extensible 2026-06-22 15:37:14 -04:00
passes.clj Specialize record field reads in method bodies; fix with-meta on symbols (#141) 2026-06-16 15:14:59 +00:00
reader.clj Scrub dangling Janet references; drop dead Janet-coupled files 2026-06-21 12:01:04 -04:00