jolt/jolt-core/jolt
Yogthos 70d52ae704 Split the success-checker out of types.clj
types.clj held the inferencer, the success-type checker, and the driver in one
716-line namespace. Move the self-contained checker into jolt.passes.types.check:
the error-domain predicates (not-number?/not-seqable?/not-callable?), the op
tables, type-name, check-invoke, and the user-fn registry. These are pure over
inferred types and the run's env cells, with no inference, so a check-rule edit
can no longer perturb the inferencer.

The infer-coupled probes stay in types.clj — isolated-diag-count and
check-user-call re-run inference, so moving them would make check depend on the
inferencer and reintroduce the cycle. Verbatim move; new ns wired into
ei-compiler-ns-files; seed re-minted to the byte-fixpoint.
2026-06-24 01:39:39 -04:00
..
passes Split the success-checker out of types.clj 2026-06-24 01:39:39 -04:00
analyzer.clj cleanup: drop dead form-char? refer, document an-invoke :wild rule (jolt-xkbo) 2026-06-24 00:03:34 -04:00
backend_scheme.clj docs: cross-link the numeric specializer + op tables (jolt-nzuo) 2026-06-24 00:07:35 -04:00
deps.clj jolt build: bundle native libs + resources into standalone binaries 2026-06-23 13:19:33 -04:00
ir.clj Enable IR inlining: splice small defns at call sites (lever 1/4) 2026-06-23 17:43:13 -04:00
main.clj Tree-shaking: drop library code unreachable from -main (lever 3/4) 2026-06-23 19:45:13 -04:00
nrepl.clj nREPL: make the built-in server middleware-extensible 2026-06-22 15:37:14 -04:00
passes.clj Enable IR inlining: splice small defns at call sites (lever 1/4) 2026-06-23 17:43:13 -04:00