jolt/jolt-core/jolt
Yogthos 7d1b9e56d8 Type :long loop-carried vars too (complete round 2)
loop-kinds only typed :double accumulators; a ^long-seeded loop var (e.g.
(loop [acc start] ...) with a ^long start) stayed generic even though it's sound
to fx-type — :long only ever comes from an explicit hint, and a ^long value is
already coerced to a fixnum at fn entry. Keep the init's kind (:double or :long)
through the fixpoint, demoting only on a recur-arg mismatch.

Integer-literal-init loop vars (a bare (loop [i 0] ...)) still stay generic by
design: :long is never seeded from a literal, so a bignum-producing loop keeps
arbitrary precision.
2026-06-23 17:04:44 -04:00
..
passes Type :long loop-carried vars too (complete round 2) 2026-06-23 17:04:44 -04:00
analyzer.clj Hint-directed fast arithmetic: fl*/fx* from ^double/^long (round 1) 2026-06-23 16:43:55 -04:00
backend_scheme.clj Hint-directed fast arithmetic: fl*/fx* from ^double/^long (round 1) 2026-06-23 16:43:55 -04:00
deps.clj jolt build: bundle native libs + resources into standalone binaries 2026-06-23 13:19:33 -04:00
ir.clj ffi: foreign-callable — receive callbacks from C 2026-06-23 09:55:17 -04:00
main.clj Make direct-linking opt-in, not a release default 2026-06-23 16:02:18 -04:00
nrepl.clj nREPL: make the built-in server middleware-extensible 2026-06-22 15:37:14 -04:00
passes.clj Hint-directed fast arithmetic: fl*/fx* from ^double/^long (round 1) 2026-06-23 16:43:55 -04:00