jolt/src/jolt
Yogthos f9a665b3c4 Chez Phase 3 inc 3: try/throw + host-call + regex/inst/uuid + def-meta in jolt.backend-scheme
Completes the op coverage of the portable Clojure emitter — it now handles every
op emit.janet does (const/local/var/the-var/host/host-static/host-new/if/do/
invoke/vector/set/map/quote/throw/try/regex/inst/uuid/host-call/let/loop/recur/
fn/def). Adds emit-try (guard + dynamic-wind), :throw, :regex/:inst/:uuid, and
:host-call (jolt-host-call for rt-shimmed methods else record-method-dispatch).

def-meta + quoted-symbol-meta needed emit-quoted to reconstruct plain jolt VALUES
(metadata maps), not just reader forms. The blocker was that :meta arrived as a
raw Janet table embedded in the IR — jolt's count/map?/keys don't work on a table
(counter to jolt.ir's 'no host values embedded'). Fixed at the host seam:
h-sym-meta now returns the meta as an immutable struct, which is a portable jolt
map (jolt count/map?/keys work on a struct, and the Janet backend's merge/get
still do too). emit-quoted handles both reader forms (jolt.host form-* contract)
and jolt-value collections (native map?/vector?/set?/seq? branches, after the
form-* branches so reader forms win).

Gate: emit-parity 55/55 (incl try/catch/finally, ^:private def-var-with-meta!
structural check, inst/uuid eq, regex smoke, quoted-sym-meta). Full jpm gate
green after clean rebuild (seed change). jolt-me6m.
2026-06-19 18:16:36 -04:00
..
clojure Chez Phase 2: clojure.set + clojure.math + pprint (jolt-j5vg, jolt-22vo) 2026-06-19 17:06:26 -04:00
interop Fix five bugs surfaced by commonmark-app (jolt-3xur, dl4s, ik3a, w2wf, xtss) (#158) 2026-06-17 03:56:13 +00:00
jolt jolt.png: host PNG encoder + overlay, render mandelbrot/raytracer demos (#152) 2026-06-16 21:07:10 +00:00
aot.janet core: Stage 3 — retire the bootstrap compiler (compiler.janet deleted) 2026-06-10 13:32:14 -04:00
api.janet Scope whole-program optimization to app namespaces (jolt-87e) (#126) 2026-06-15 18:02:54 +00:00
async.janet feat: core.async Phase 3 — channel transducers + dropping/sliding buffers 2026-06-05 15:40:24 -04:00
backend.janet Chez Phase 2 (inc X): #inst / #uuid literals + java.time (jolt-at0a) 2026-06-19 11:05:22 -04:00
cgen.janet cgen: build-time AOT — native fns without a toolchain on the target (jolt-a7ds) (#148) 2026-06-16 18:09:22 +00:00
cgen_build.janet cgen: single-binary native build via jolt cgen-build (jolt-a7ds) (#150) 2026-06-16 20:34:10 +00:00
config.janet cgen: install native fns into the compile path under JOLT_CGEN (jolt-ihdp) (#146) 2026-06-16 17:12:48 +00:00
core.janet Honor a deftype's custom Object/toString in .toString and str (jolt-rt6n) 2026-06-15 10:22:09 -04:00
core_coll.janet Clojure-compat fixes enabling external HTTP-client support (#159) 2026-06-17 06:42:52 +00:00
core_extra.janet Fix seed assoc! to throw on odd args (jolt-ea9k) 2026-06-18 03:27:21 -04:00
core_io.janet Clojure-compat fixes enabling external HTTP-client support (#159) 2026-06-17 06:42:52 +00:00
core_print.janet Clojure-compat fixes enabling external HTTP-client support (#159) 2026-06-17 06:42:52 +00:00
core_refs.janet Clojure-compat fixes enabling external HTTP-client support (#159) 2026-06-17 06:42:52 +00:00
core_types.janet Fix five bugs surfaced by commonmark-app (jolt-3xur, dl4s, ik3a, w2wf, xtss) (#158) 2026-06-17 03:56:13 +00:00
deps.janet Scope whole-program optimization to app namespaces (jolt-87e) (#126) 2026-06-15 18:02:54 +00:00
deps_cli.janet Fold jolt-deps into the jolt binary (#133) 2026-06-16 10:30:28 +08:00
eval_base.janet Clojure-compat fixes enabling external HTTP-client support (#159) 2026-06-17 06:42:52 +00:00
eval_resolve.janet Refactor phase 2a: split evaluator.janet + explode eval-list into named handlers 2026-06-15 02:29:23 -04:00
eval_runtime.janet Clojure-compat fixes enabling external HTTP-client support (#159) 2026-06-17 06:42:52 +00:00
eval_special.janet Reject a malformed catch clause with a clean error in both modes 2026-06-17 17:25:14 -04:00
evaluator.janet Evaluate non-array ISeq forms (cons/concat/lazy-seq) as calls (jolt-2rx) 2026-06-15 10:27:34 -04:00
host_iface.janet Chez Phase 3 inc 3: try/throw + host-call + regex/inst/uuid + def-meta in jolt.backend-scheme 2026-06-19 18:16:36 -04:00
host_interop.janet Refactor phase 1: split host-interop into a src/jolt/interop/ subdir (jolt-jx5l) 2026-06-15 09:37:28 -04:00
lazyseq.janet Refactor phase 5d/5e: seed↔overlay registry + rep↔API boundary docs (jolt-bvek) 2026-06-15 04:22:05 -04:00
loader.janet feat: success checker on by default in direct-link builds, free (jolt audit) 2026-06-13 13:46:16 -04:00
main.janet cgen: single-binary native build via jolt cgen-build (jolt-a7ds) (#150) 2026-06-16 20:34:10 +00:00
phm.janet Keep a nil element in sets and transient sets (jolt-bn2p) (#156) 2026-06-17 01:43:23 +00:00
phs.janet Keep a nil element in sets and transient sets (jolt-bn2p) (#156) 2026-06-17 01:43:23 +00:00
plist.janet Refactor phase 5d/5e: seed↔overlay registry + rep↔API boundary docs (jolt-bvek) 2026-06-15 04:22:05 -04:00
png.janet jolt.png: host PNG encoder + overlay, render mandelbrot/raytracer demos (#152) 2026-06-16 21:07:10 +00:00
pv.janet pv: build the vector trie bottom-up, not n incremental conjs (jolt-5vsp) (#153) 2026-06-16 21:31:26 +00:00
reader.janet Clojure-compat fixes enabling external HTTP-client support (#159) 2026-06-17 06:42:52 +00:00
regex.janet Fix five bugs surfaced by commonmark-app (jolt-3xur, dl4s, ik3a, w2wf, xtss) (#158) 2026-06-17 03:56:13 +00:00
stdlib_embed.janet Compiler research (#10) 2026-06-09 07:30:25 +08:00
types.janet Refactor phase 5a: split types.janet into value-layer cluster modules 2026-06-15 02:42:42 -04:00
types_ctx.janet Refactor phase 5a: split types.janet into value-layer cluster modules 2026-06-15 02:42:42 -04:00
types_ns.janet Refactor phase 5a: split types.janet into value-layer cluster modules 2026-06-15 02:42:42 -04:00
types_protocols.janet Refactor phase 5a: split types.janet into value-layer cluster modules 2026-06-15 02:42:42 -04:00
types_symbols.janet Refactor phase 5a: split types.janet into value-layer cluster modules 2026-06-15 02:42:42 -04:00
types_var.janet Refactor phase 5a: split types.janet into value-layer cluster modules 2026-06-15 02:42:42 -04:00