jolt/host/chez
Yogthos 1d345bfd0f jolt build: bundle native libs + resources into standalone binaries
A built binary dropped its deps.edn :jolt/native declarations and its
resource roots, so an FFI+resources app (ring-app) failed at runtime:
sockets/sqlite gave 'no entry for socket' and io/resource returned nil.
The buildsmoke fixture is pure compute, so neither path was exercised.

The launcher now loads required + :process native libs before the app's
top-level forms (a library's defcfn resolves its foreign-procedure symbols
at top-level eval during startup, so the libs must be loaded first);
optional libs load in the scheme-start launcher, where a missing lib is
caught rather than aborting the heap build.

deps.edn :jolt/build {:embed [dirs]} bakes those dirs' files into the heap
(register-embedded-resource! at heap build), so io/resource serves them with
no files on disk. Non-embedded resources resolve at runtime against JOLT_PWD,
and io/file reads (e.g. config.edn) stay external.

build-binary now takes the encoded natives, embed dirs, and project paths
from cmd-build; deps/resolve-project surfaces them. Buildsmoke fixture grows
an embedded resource + a :process native to cover both paths.
2026-06-23 13:19:33 -04:00
..
seed ffi: foreign-callable — receive callbacks from C 2026-06-23 09:55:17 -04:00
async.ss JVM-semantics fixes and small cleanups 2026-06-23 01:36:51 -04:00
atoms.ss Clean up codebase: rename stdlib layer, strip porting residue, fix tooling 2026-06-22 22:18:00 -04:00
bigdec.ss Replace str-render/instance-check set! chains with registries 2026-06-23 09:05:36 -04:00
bootstrap.ss Clean up codebase: rename stdlib layer, strip porting residue, fix tooling 2026-06-22 22:18:00 -04:00
build-smoke.sh jolt build: bundle native libs + resources into standalone binaries 2026-06-23 13:19:33 -04:00
build.ss jolt build: bundle native libs + resources into standalone binaries 2026-06-23 13:19:33 -04:00
cli.ss jolt build: compile an app to a standalone binary (Phase 4 stages 1-2) 2026-06-22 23:01:36 -04:00
collections.ss JVM-semantics fixes and small cleanups 2026-06-23 01:36:51 -04:00
compile-eval.ss Wire the optimization pass pipeline into compile + build 2026-06-23 01:14:14 -04:00
concurrency.ss Dead-code removal, perf fixes, deterministic seed emission 2026-06-23 01:05:45 -04:00
converters.ss Replace str-render/instance-check set! chains with registries 2026-06-23 09:05:36 -04:00
dot-forms.ss Clean up codebase: rename stdlib layer, strip porting residue, fix tooling 2026-06-22 22:18:00 -04:00
dyn-binding.ss Clean up codebase: rename stdlib layer, strip porting residue, fix tooling 2026-06-22 22:18:00 -04:00
dynamic-vars.ss Fix conformance gaps: exception types, byte/getBytes, host classes 2026-06-22 17:52:38 -04:00
emit-image.ss Extract the type lattice into jolt.passes.types.lattice 2026-06-23 04:31:43 -04:00
ffi.ss jolt build: bundle native libs + resources into standalone binaries 2026-06-23 13:19:33 -04:00
host-class.ss Clean up codebase: rename stdlib layer, strip porting residue, fix tooling 2026-06-22 22:18:00 -04:00
host-contract.ss jolt build: --opt mode turns on the inference passes (Phase 4 stage 4a) 2026-06-22 23:07:04 -04:00
host-static-objects.ss Replace str-render/instance-check set! chains with registries 2026-06-23 09:05:36 -04:00
host-static-statics.ss Split host-static.ss into base / statics / objects 2026-06-23 04:16:43 -04:00
host-static.ss Split host-static.ss into base / statics / objects 2026-06-23 04:16:43 -04:00
host-table.ss Replace str-render/instance-check set! chains with registries 2026-06-23 09:05:36 -04:00
inst-time.ss Replace str-render/instance-check set! chains with registries 2026-06-23 09:05:36 -04:00
io.ss jolt build: bundle native libs + resources into standalone binaries 2026-06-23 13:19:33 -04:00
lazy-bridge.ss Replace str-render/instance-check set! chains with registries 2026-06-23 09:05:36 -04:00
loader.ss Deduplicate small host helpers 2026-06-23 01:42:33 -04:00
math.ss Clean up codebase: rename stdlib layer, strip porting residue, fix tooling 2026-06-22 22:18:00 -04:00
multimethods.ss Clean up codebase: rename stdlib layer, strip porting residue, fix tooling 2026-06-22 22:18:00 -04:00
natives-array.ss Replace str-render/instance-check set! chains with registries 2026-06-23 09:05:36 -04:00
natives-coll.ss Clean up codebase: rename stdlib layer, strip porting residue, fix tooling 2026-06-22 22:18:00 -04:00
natives-meta.ss Clean up codebase: rename stdlib layer, strip porting residue, fix tooling 2026-06-22 22:18:00 -04:00
natives-misc.ss Replace str-render/instance-check set! chains with registries 2026-06-23 09:05:36 -04:00
natives-num.ss Clean up codebase: rename stdlib layer, strip porting residue, fix tooling 2026-06-22 22:18:00 -04:00
natives-parity.ss Clean up codebase: rename stdlib layer, strip porting residue, fix tooling 2026-06-22 22:18:00 -04:00
natives-queue.ss Replace str-render/instance-check set! chains with registries 2026-06-23 09:05:36 -04:00
natives-seq.ss Clean up codebase: rename stdlib layer, strip porting residue, fix tooling 2026-06-22 22:18:00 -04:00
natives-str.ss Deduplicate small host helpers 2026-06-23 01:42:33 -04:00
natives-xform.ss Clean up codebase: rename stdlib layer, strip porting residue, fix tooling 2026-06-22 22:18:00 -04:00
ns.ss Replace str-render/instance-check set! chains with registries 2026-06-23 09:05:36 -04:00
png.ss Clean up codebase: rename stdlib layer, strip porting residue, fix tooling 2026-06-22 22:18:00 -04:00
post-prelude.ss Clean up codebase: rename stdlib layer, strip porting residue, fix tooling 2026-06-22 22:18:00 -04:00
predicates.ss Clean up codebase: rename stdlib layer, strip porting residue, fix tooling 2026-06-22 22:18:00 -04:00
printing.ss Clean up codebase: rename stdlib layer, strip porting residue, fix tooling 2026-06-22 22:18:00 -04:00
reader.ss Clean up codebase: rename stdlib layer, strip porting residue, fix tooling 2026-06-22 22:18:00 -04:00
records-interop.ss Replace str-render/instance-check set! chains with registries 2026-06-23 09:05:36 -04:00
records.ss Replace str-render/instance-check set! chains with registries 2026-06-23 09:05:36 -04:00
regex.ss Clean up codebase: rename stdlib layer, strip porting residue, fix tooling 2026-06-22 22:18:00 -04:00
remint.sh Pure-Chez test gates (no Janet) 2026-06-21 11:22:32 -04:00
rt.ss Split records.ss: lift the JVM-emulation taxonomy into records-interop.ss 2026-06-23 04:22:02 -04:00
run-corpus.ss Clean up codebase: rename stdlib layer, strip porting residue, fix tooling 2026-06-22 22:18:00 -04:00
run-infer.ss infer gate: cover the run-inference / take-diags! checker path 2026-06-23 09:38:13 -04:00
run-sci.ss Clean up codebase: rename stdlib layer, strip porting residue, fix tooling 2026-06-22 22:18:00 -04:00
run-unit.ss Real Thread/yield + Thread/interrupted (jolt-l2gc) 2026-06-23 00:06:04 -04:00
selfcheck.sh Pure-Chez test gates (no Janet) 2026-06-21 11:22:32 -04:00
seq.ss Dead-code removal, perf fixes, deterministic seed emission 2026-06-23 01:05:45 -04:00
smoke.sh Pure-Chez test gates (no Janet) 2026-06-21 11:22:32 -04:00
syntax-quote.ss Clean up codebase: rename stdlib layer, strip porting residue, fix tooling 2026-06-22 22:18:00 -04:00
transients.ss Clean up codebase: rename stdlib layer, strip porting residue, fix tooling 2026-06-22 22:18:00 -04:00
values.ss Clean up codebase: rename stdlib layer, strip porting residue, fix tooling 2026-06-22 22:18:00 -04:00
vars.ss Replace str-render/instance-check set! chains with registries 2026-06-23 09:05:36 -04:00