let

Eng mit der Funktionsdefinition durch lambda verknüpft ist die Deklaration von lokalen Variablen mit let.

(let ((symbol-1 expr-1)
(symbol-2 expr-2)
...
(symbol-n expr-n))
body)

Let definiert die lokalen Variablen symbol-1 bis symbol-n und belegt diese mit den Werten, die sich durch die Auswertung von expr-1 bis expr-n ergeben. Der Rumpl body wird in einer Umgebung ausgeführt, in der die lokalen Variablen definiert sind. Der Wert von body wird zum Wert des gesamten let-Ausdrucks.

> (let ((x 2) (y 3)) (+ x y))
5

Der let-Ausdruck ist semantisch äquivalent zu einem Term mit lambda.

((lambda (symbol-1 ... symbol-n) body) expr-1 ... expr-n)