The interop surface ring.util.codec needs (registered through the javatime shim registries): URLEncoder/URLDecoder (www-form-urlencoded in pure janet), Charset/forName, Base64 encoder/decoder, Integer/valueOf with radix + parseInt, StringTokenizer, clojure.lang.MapEntry (a 2-tuple), a String ctor from bytes, .getBytes on the String surface, and a java.lang.Number method surface (byteValue and friends). Protocol fixes: extend-protocol on java.util.Map/Set/List now dispatches (maps — phm/struct/sorted/records — never produced host tags and fell to Object), lazy seqs gained their ISeq tags, and a nil extension arm works (group-by-head and extend-type both choked on the nil head). reduce dispatches to a reified clojure.lang.IReduceInit's own reduce method, which is how ring-codec tokenizes. jolt-deps learns :deps/root (tools.deps monorepo subdirectory checkouts — ring-core lives inside ring-clojure/ring). spork/http, when jpm-installed, reaches the jolt layer as janet.spork.http/* through the janet.* bridge (soft: nothing requires it unless used). The protocol fixes alone let 29 more clojure-test-suite assertions execute: 5319 -> 5348 run, 4706 -> 4715 pass. |
||
|---|---|---|
| .. | ||
| 00-kernel.clj | ||
| 00-syntax.clj | ||
| 10-seq.clj | ||
| 20-coll.clj | ||
| 25-sorted.clj | ||
| 30-macros.clj | ||
| 40-lazy.clj | ||
| 50-io.clj | ||