jolt/jolt-core
Yogthos b2ff65972b ir/analyzer: omit absent fields instead of writing nil
def-node carried :meta nil when a def had no metadata, fn-node carried :name
nil for anonymous fns, analyze-arity carried :rest nil for fixed arities, and
empty-env carried :recur nil. These all mean genuine absence, and every
consumer reads an absent key back as nil — so writing the nil is gratuitous.

Dropping them keeps the common nodes (defs, fns, fixed arities) nil-free, so
once user maps preserve nil they stay plain structs instead of becoming phm.
Faithful nil values (a nil const :val) are left as-is; the back end handles
those. No-op today since structs already drop nil: suite, conformance 218/218
x3, fixpoint, fib all unchanged.
2026-06-06 22:05:52 -04:00
..
clojure/core core: move juxt/every-pred/some-fn to Clojure 2026-06-06 18:09:42 -04:00
jolt ir/analyzer: omit absent fields instead of writing nil 2026-06-06 22:05:52 -04:00