(let <bindings> <body>)


Syntax: <Bindings> should have the form

         ((<variable1> <init1>) ...)

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.


Returns: boolean


(let ((x 2) (y 3))

   (* x y))                      =>  6

(let ((x 2) (y 3))

   (let ((x 7)

         (z (+ x y)))

     (* z x)))                   =>  35

Back to index