Next: compiler dircalls let, Up: compiler dircalls [Index]
clambda
integrationBy definition, a “direct closure application” like:
((lambda (x) x) 123)
can be transformed to:
(let ((x 123)) x)
in which the operator lambda
form is integrated; so it can be
converted to low level operations that more efficiently implement the
binding; direct calls optimisation attempts to perform such integration.
Notice that in the case:
((case-lambda ((x) x) ((x y) y)) 123)
the integration yields:
(let ((x 123)) x)
and the clause with two arguments is just discarded and never compiled.