let*

(let* ((NAME EXPRESSION) ...) EXPRESSION)
The 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)




Google

(a (+ a 1)) (a (+ a 2))) a) 19