Fachkonzept
Fachkonzept
Das Herzstück der funktionalen Programmierung stellen die Funktionen dar.
Eine Funktion ist eine Verarbeitungseinheit, die Daten übergeben bekommt
und anhand dieser neue Daten produziert.
Die Daten die eine Funktion übergeben bekommt nennt man Übergabedaten.
Je nach Funktion müssen diese Daten von einem spezifischen Typ sein. Diese unterschiedlichen Typen nennen wir Datentypen.
Funktionen verarbeiten die Übergabedaten und produzieren so Rückgabedaten, welche wiederum von einem bestimmten Datentyp sind.
Die Daten die eine Funktion übergeben bekommt nennt man Übergabedaten.
Je nach Funktion müssen diese Daten von einem spezifischen Typ sein. Diese unterschiedlichen Typen nennen wir Datentypen.
Funktionen verarbeiten die Übergabedaten und produzieren so Rückgabedaten, welche wiederum von einem bestimmten Datentyp sind.
Jede Funktion besitzt eine Signatur, welche die Informationen über Typ und Anzahl der Übergabe- und Rückgabedaten der Funktion repräsentiert.
Jede Funktion besitzt eine eindeutige Signatur, welche angibt wie viele
Übergabe- und Rückgabedaten die Funktion besitzt und von welchem Datentyp die jeweiligen Daten sein müssen.
Beispielhafte Beschreibungen von Funktionen
Die Funktion: ceiling
Die Funktionceiling
bekommt eine beliebige reele Zahl übergeben und gibt die nächst größere
ganze Zahl zurück. Es ergibt sich die Signatur:
real -> integer
Die Funktion: odd?
Die Funktionodd?
bestimmt ob eine ganze Zahl ungerade ist (#t) oder nicht (#f).
Es ergibt sich die Signatur:
integer -> boolean
Die Funktion: string-length
Die Funktionstring-length
bekommt eine beliebige Zeichenkette und gibt die Anzahl an Zeichen in
der Zeichenkette zurück. Es ergibt sich die Signatur:
string -> natural
Die Funktion: remainder
Die Funktionremainder
gibt den Rest einer ganzzahligen Division zurück. Es ergibt sich die Signatur:
integer integer -> integer