Funktionen sind in TL-Skript allgegenwärtig. Eine Funktion ist ein Skript-Ausdruck, der ein oder mehrere Eingaben benötigt, um ausgerechnet werden zu können. Die meisten Skripte, mit denen Oberflächenkomponenten in Top-Logic parametrisiert werden, müssen als Funktionen geschrieben werden. Dabei erwartet das Skript i.d.R. eine Eingabe (Argument) aus umgebenden Komponenten. Eine Funktion besteht aus der Deklaration eines Parameters, welcher die erwartete Eingabe benennt und einem Ausdruck, der sich auf diesen Parameter bezieht:
x -> $expr
Definiert eine Funktion, die ein Argument x erwartet und einen Wert durch Auswertung des Ausdrucks expr erzeugt. Im Ausdruck kann auf den Wert des Funktionsarguments mit der Syntax $x zugegriffen werden (siehe Variablen).
Eine Funktion, die mehrere Argumente erwartet, wird folgendermaßen geschrieben:
x -> y -> $expr-using-$x-and-$y
Funktionen können außerdem in einer Variablen abgespeichert werden, um diese zu einem späteren Zeitpunkt aufzurufen (siehe Funktionenanwendung).
{
myFunc = x -> $x * 5;
}
Für Informationen zum Aufruf von Funktionen siehe Funktionenanwendung.
x -> 5 * $x
Ausgabe: /
Die Eingabe für x wird mit 5 multipliziert.
x -> y -> $x * $y
Ausgabe: /
Multipliziert die Eingaben von x und y miteinander.
{
multiply = x -> 5 * $x;
}
Ausgabe: /
Die Funktion zur Mulitplikation wird in der Variable multiply gespeichert. Auf diese kann mit $multiply zugegriffen werden, um sie zum Beispiel mit apply() auszuführen.