clojure.edn's __read-tagged seam called (empty-pmap) — applying the empty-pmap VALUE as a procedure — so an unknown tag (e.g. #object[...] from a JVM-printed object, or any unregistered #foo) crashed the Chez VM with "attempt to apply non-procedure" and surfaced a malformed condition (class :object, nil message) instead of a catchable error. Throw a clean ex-info naming the tag, matching the JVM's "No reader function for tag <tag>". A reader port over edn (transit-jolt's read-conformance skip path, aero, etc.) now catches a real exception instead of aborting. clojure.core/read-string stays lenient (returns the tagged form) so clojure.edn can apply :readers / :default before falling through to this throw. |
||
|---|---|---|
| .. | ||
| chez | ||