binds local values
(let ([name expr]*) form*) (let* ([name expr]*) form*)
Will create a new local scope, evaluate the provided expressions, and then bind the resulting value to their respective names. It will then evaluate the specified forms within that scope and return the result of the last evaluation. The
let form performs these bindings in parallel, whereas the
let* form performs them sequentially.
(let ([x '(1 2 3 4)] [y [5 6 7 8] ]) (concat x y))
This example will create a list called x and a vector called y and return the lazy concatenation of those sequences. Note that the two names do not exist outside the