Einfache Funktionen

Die Funktion lambda erzeugt neue Funktionen. Sie erwartet zwei Argumente: eine Liste von Parametern und den Rumpf der Funktion. Der Rumpf der Funktion bestimmt den Wert, den man bei ihrer Anwendung erhält.

Zum Beispiel erzeugt (lambda (x) (* 2 x)) eine Funktion, die ihre Eingabe verdoppelt. Verwenden kann man die frisch erzeugte Funktion wie alle anderen Funktionen auch (siehe Ausdrücke): Sie muss als erstes Element einer Liste verwendet werden.

((lambda (x) (* 2 x)) 7) ergibt den Wert 14.

Wenn man eine Funktion mehrfach verwenden will, kann man sie einem Symbol als Wert zuweisen

(setq double (lambda (x) (* 2 x)))

oder gleichbedeutend in kürzerer Schreibweise

(defproc double (x) (* 2 x))

und dann das Symbol verwenden:

(double 8) hat den Wert 16.