Funktion

Funktionen gehören zu einem speziellen Datentyp, der einen ausführbaren Ausdruck, dessen Parameter und implizit die Werte der freien Variablen des Ausdrucks zu einer Einheit zusammenfasst.

Generische Funktionen gruppieren mehrere Methoden. Bei ihnen handelt es sich um eine Verallgemeinerung der Funktionen und einen anderen Datentyp (siehe generische Funktion).

Funktionen werden mit der Funktion lambda erzeugt und können angewendet werden, indem die Parameter an Argumente gebunden werden und dann der oben genannte Ausdruck ausgeführt wird.

Beispielsweise ist

(lambda (x) (+ 1 x))

eine Funktion, die eine Zahl als Argument erwartet und die Summe von 1 und der Zahl als Resultat liefert. Die Funktion kann, genauso wie die bereits vordefinierten Funktionen, angewendet werden, in dem sie vor ihrem Argument in einer Liste notiert wird:

> ((lambda (x) (+ 1 x)) 22)
23


Mit folgenden Funktionen können Funktionen erzeugt, angewendet und auf ihre Bestandteile zugegriffen werden:

alambda,
apply,
body,
curry,
defproc,
lambda und
parameters.