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)
(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)