let definiert. Sie nehmen Parameter entgegen und geben ein Ergebnis zurück. In F# bestehen Funktionen aus Eingaben (Parametern) und genau einem Rückgabewert.
Anonyme Funktionen
Anonyme Funktionen (Lambda-Funktionen) haben keinen Namen und werden meist direkt dort verwendet, wo sie gebraucht werden. Sie werden mitfun definiert.
Higher Order Functions
Higher Order Functions sind Funktionen, die andere Funktionen als Parameter erhalten oder Funktionen zurückgeben. Sie sind ein zentrales Konzept der funktionalen Programmierung.List.map oder List.filter.
Rekursion
Rekursion bedeutet, dass eine Funktion sich selbst aufruft. In F# wird sie häufig anstelle von Schleifen verwendet. Wichtig ist, dass eine Abbruchbedingung definiert wird, damit die Funktion nicht unendlich läuft.Ohne
rec kann sich eine Funktion nicht selbst aufrufen.Currying
In F# sind Funktionen standardmässig curried. Das bedeutet, dass eine Funktion mehrere Parameter nicht auf einmal, sondern schrittweise entgegennimmt.Partielle Anwendung
Einer Funktion wird nur ein Teil ihrer Parameter übergeben, wodurch eine neue Funktion entsteht, die die restlichen Parameter erwartet.Closures
Closures sind Funktionen, die auf Variablen aus ihrem äusseren Kontext zugreifen können, selbst wenn dieser Kontext eigentlich schon beendet ist.offset.