Next: compiler dircalls debug, Previous: compiler dircalls let, Up: compiler dircalls [Index]
cond syntaxescond syntaxes are expanded as follows:
(cond ((this X)
=> (lambda (Y)
(that Y)))
(else
(those)))
becomes:
(let ((t (this X)))
(if t
((lambda (Y) (that Y)) t)
(those)))
which contains a direct call, which will be optimised to:
(let ((t (this X)))
(if t
(let ((Y t)) (that Y))
(those)))