jolt/host/chez
Yogthos 3253df979a Byte-array <-> bytevector interop + charset-aware (String. bytes cs)
The host carries bytes two ways: Chez bytevectors (what String/.getBytes
produce) and jolt byte-arrays (what byte-array / the Java-array shims use). They
didn't interconvert, so code mixing the two — like clj-http-lite, which buffers
into (byte-array n) but encodes via .getBytes and decodes via (String. ^[B body
charset) — broke.

- byte-array now also accepts a bytevector or a string (UTF-8 bytes), so the two
  representations convert freely at interop seams.
- (String. bytes [charset]) decodes a bytevector OR a jolt byte-array with the
  named charset (UTF-8 default; ISO-8859-1/latin1/ascii = one byte/char). It
  previously only took a bytevector and ignored the charset.

Runtime .ss shims, no re-mint. Unit covers both directions + charset.
2026-06-22 13:20:27 -04:00
..
seed jolt.ffi: a :blocking option for collect-safe foreign calls 2026-06-22 12:00:14 -04:00
async.ss Scrub dangling Janet references; drop dead Janet-coupled files 2026-06-21 12:01:04 -04:00
atoms.ss Scrub dangling Janet references; drop dead Janet-coupled files 2026-06-21 12:01:04 -04:00
bigdec.ss real BigDecimal type (bigdec, M literals) 2026-06-22 00:01:01 -04:00
bootstrap.ss Scrub dangling Janet references; drop dead Janet-coupled files 2026-06-21 12:01:04 -04:00
cli.ss Remove built-in jolt.http.server (ring-janet-adapter library replaces it) 2026-06-22 12:19:04 -04:00
collections.ss Fix arg evaluation order + host interop gaps so reitit/selmer/honeysql run 2026-06-22 05:26:09 -04:00
compile-eval.ss macroexpand-first analyzer order; one macro path; defmacro/letfn fixes 2026-06-22 00:54:16 -04:00
concurrency.ss Chez parity: delay / force / realized? (jolt-cf1q.7) 2026-06-20 17:02:42 -04:00
converters.ss Bind clojure.core/float (= double on Chez) 2026-06-21 15:39:21 -04:00
dot-forms.ss Host gaps that blocked malli: map .iterator, two clojure.lang builders 2026-06-22 05:35:08 -04:00
dyn-binding.ss Scrub dangling Janet references; drop dead Janet-coupled files 2026-06-21 12:01:04 -04:00
dynamic-vars.ss compile (set! *var* val) 2026-06-22 00:40:46 -04:00
emit-image.ss Scrub dangling Janet references; drop dead Janet-coupled files 2026-06-21 12:01:04 -04:00
ffi.ss jolt.ffi: read-array/write-array for binary-faithful buffer I/O 2026-06-22 13:11:08 -04:00
host-class.ss resolve ^Type hint to canonical class name in var :tag 2026-06-21 23:52:47 -04:00
host-contract.ss Resolve :use/:only refers, refer-aware syntax-quote, alias-aware resolve 2026-06-22 10:25:35 -04:00
host-static.ss Byte-array <-> bytevector interop + charset-aware (String. bytes cs) 2026-06-22 13:20:27 -04:00
host-table.ss sorted-map entries are real map-entries (jolt-jk23) 2026-06-21 16:43:05 -04:00
http-client.ss Make blocking socket FFI collect-safe; fix http-client temp-file race 2026-06-22 08:12:53 -04:00
inst-time.ss Scrub dangling Janet references; drop dead Janet-coupled files 2026-06-21 12:01:04 -04:00
io.ss Fix arg evaluation order + host interop gaps so reitit/selmer/honeysql run 2026-06-22 05:26:09 -04:00
lazy-bridge.ss Scrub dangling Janet references; drop dead Janet-coupled files 2026-06-21 12:01:04 -04:00
loader.ss Host gaps that blocked malli: map .iterator, two clojure.lang builders 2026-06-22 05:35:08 -04:00
math.ss Scrub dangling Janet references; drop dead Janet-coupled files 2026-06-21 12:01:04 -04:00
multimethods.ss defmethod auto-create copies clojure.core dispatch (fix SCI regression) 2026-06-21 20:04:13 -04:00
natives-array.ss Byte-array <-> bytevector interop + charset-aware (String. bytes cs) 2026-06-22 13:20:27 -04:00
natives-coll.ss Scrub dangling Janet references; drop dead Janet-coupled files 2026-06-21 12:01:04 -04:00
natives-meta.ss (type record) returns its class-name string, not a symbol 2026-06-22 00:05:08 -04:00
natives-misc.ss jolt.http-client (curl-backed) + format width/justify flags 2026-06-22 02:44:29 -04:00
natives-num.ss Scrub dangling Janet references; drop dead Janet-coupled files 2026-06-21 12:01:04 -04:00
natives-parity.ss Scrub dangling Janet references; drop dead Janet-coupled files 2026-06-21 12:01:04 -04:00
natives-seq.ss Scrub dangling Janet references; drop dead Janet-coupled files 2026-06-21 12:01:04 -04:00
natives-str.ss Fix arg evaluation order + host interop gaps so reitit/selmer/honeysql run 2026-06-22 05:26:09 -04:00
natives-xform.ss Chez Phase 2 (inc H): volatiles + sequence/transduce 2026-06-18 14:47:03 -04:00
ns.ss Resolve :use/:only refers, refer-aware syntax-quote, alias-aware resolve 2026-06-22 10:25:35 -04:00
png.ss jolt.png: a built-in PNG writer (ray-tracer-multi) 2026-06-22 02:33:27 -04:00
post-prelude.ss real chunked seqs for vector seqs 2026-06-22 00:21:05 -04:00
predicates.ss Host interop fixes: ==/time/subvec/defonce + corpus cleanup 2026-06-21 15:36:41 -04:00
printing.ss Transients: mutable backing instead of copy-on-write 2026-06-22 08:38:22 -04:00
reader.ss More library-compat fixes from porting the examples (markdown, malli) 2026-06-22 02:25:11 -04:00
records.ss Fix arg evaluation order + host interop gaps so reitit/selmer/honeysql run 2026-06-22 05:26:09 -04:00
regex.ss Host completeness for the ring stack (ring-app) 2026-06-22 03:20:31 -04:00
remint.sh Pure-Chez test gates (no Janet) 2026-06-21 11:22:32 -04:00
rt.ss real BigDecimal type (bigdec, M literals) 2026-06-22 00:01:01 -04:00
run-corpus.ss More library-compat fixes from porting the examples (markdown, malli) 2026-06-22 02:25:11 -04:00
run-sci.ss mutable deftype fields: (set! field val) in a method 2026-06-22 01:19:03 -04:00
run-unit.ss Cross-ns def/require/use/defmethod through the spine (jolt-c2l1) 2026-06-21 16:56:46 -04:00
selfcheck.sh Pure-Chez test gates (no Janet) 2026-06-21 11:22:32 -04:00
seq.ss Fix arg evaluation order + host interop gaps so reitit/selmer/honeysql run 2026-06-22 05:26:09 -04:00
smoke.sh Pure-Chez test gates (no Janet) 2026-06-21 11:22:32 -04:00
syntax-quote.ss Scrub dangling Janet references; drop dead Janet-coupled files 2026-06-21 12:01:04 -04:00
transients.ss Transients: mutable backing instead of copy-on-write 2026-06-22 08:38:22 -04:00
values.ss Chez Phase 1 (increment 3b): seq tier + dynamic IFn dispatch on the Chez RT 2026-06-17 15:19:18 -04:00
vars.ss Chez Phase 2 (inc I+J): first-class vars + scalar natives 2026-06-18 15:44:10 -04:00