(let*
((NAME EXPRESSION-FOR-LET) ...) EXPRESSION)
let*
expression is similar to the letrec
expression, except that the scope of the bindings is different. Like letrec
, the body expression may refer to the bindings created by the let*
. However, each binding expression (those on the right-hand sides) can refer to the preceding bindings. In addition, a name can be bound multiple times, in which case each use sees the closest preceding binding. To illustrate this, consider the following expressions and its result: (let ((a 16)
| (a (+ a 1)) (a (+ a 2))) a) 19 |