let
let is mostly equivalent to let*.
Local variables defined by the same call to let can't depend on each other in the initialization clauses.
(let* ((x 0)
(y (+ x 5)))
(print y))
[prints 5, then returns 5]
(let ((x 0)
(y (+ x 5)))
(print y))
[behavior depends on
outside value of x]
Reference is to x outside of let
Previous slide
Next slide
Back to first slide
View graphic version