Everything reitit-core needs to load unmodified from git under :clj features: - The baked binary now re-reads JOLT_FEATURES at startup (like JOLT_PATH). reader-features-set! runs at module load = BUILD time for a binary, so a process opting into :clj (to read a lib's :clj branches) was ignored, and unmatched #?(...) forms silently spliced to nothing — defn of a fn with an empty arglist, hence the cryptic index errors. - (get s i) indexes a string and returns the char, as in Clojure (nth did; get returned nil). reitit's path parser is (get path i)-based — without this every route read as static. - Class-shim registration exposed to Clojure: __register-class-statics! / __register-class-methods! / __register-class-ctor!, so a library can mirror a Java class jolt doesn't ship (the reitit.Trie mirror lives in jolt-lang/ router on top of these). - Java surface reitit's :clj branches call: .getMessage (on exceptions and strings) and a small universal object-method set, .intern, java.util.HashMap (a mutable map wrapper). Plus defprotocol already took keyword options. Gate green; clojure-test-suite 4715 -> 4718 (the get-on-strings fix). |
||
|---|---|---|
| .. | ||
| rfc | ||
| spec | ||
| building-and-deps.md | ||
| grammar.ebnf | ||
| libraries.md | ||
| self-hosting-architecture.md | ||
| self-hosting-compiler.md | ||
| tools-deps.md | ||