0bbe35eeec
Introduces a new optimizer pass that can "crack" closures, allowing for more aggressive specialization. It also enables inlining of upvalues that point to immutable global variables. This removes overhead for higher-order functions and currying when arguments are statically resolvable.
6 lines
99 B
Plaintext
6 lines
99 B
Plaintext
;; Output: 42
|
|
(do
|
|
(def f (fn [a] (fn [b] (fn [c] (+ a (+ b c))))))
|
|
(((f 10) 12) 20)
|
|
)
|