jolt/docs
Yogthos 6ab76efd19 host: enable reitit — runtime JOLT_FEATURES, class-shim hooks, get-on-strings, java shims
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).
2026-06-12 01:09:00 -04:00
..
rfc core: enforce fn arity in both modes (jolt-6xn); canonical seq-to-map-for-destructuring 2026-06-11 16:20:14 -04:00
spec core: variadic bit ops, set? covers sorted sets, if rejects extra forms 2026-06-11 17:04:26 -04:00
building-and-deps.md deps: global gitlibs-style clone cache + :tasks runner 2026-06-10 23:22:36 -04:00
grammar.ebnf docs: consolidate doc/ into docs/ 2026-06-10 12:10:28 -04:00
libraries.md host: enable reitit — runtime JOLT_FEATURES, class-shim hooks, get-on-strings, java shims 2026-06-12 01:09:00 -04:00
self-hosting-architecture.md docs: consolidate doc/ into docs/ 2026-06-10 12:10:28 -04:00
self-hosting-compiler.md docs: consolidate doc/ into docs/ 2026-06-10 12:10:28 -04:00
tools-deps.md deps: :jpm/module coordinates; the janet.* bridge autoloads jpm modules 2026-06-11 20:58:43 -04:00