- (let <bindings> <body>)syntax
Syntax: <Bindings> should have the form
((<variable> <init>) ...),
where each <init> is an expression, and <body> should be a sequence of one or more expressions. It is an error for a <variable> to appear more than once in the list of variables being bound.
Semantics: The <init>s are evaluated in the current environment (in some unspecified order), the <variable>s are bound to fresh locations holding the results, the <body> is evaluated in the extended environment, and the value(s) of the last expression of <body> is(are) returned. Each binding of a <variable> has <body> as its region.
(let ((x 2) (y 3)) (* x y)) ===> 6 (let ((x 2) (y 3)) (let ((x 7) (z (+ x y))) (* z x))) ===> 35
See also "named let", below.