Zurück Weiter Inhalt

1.4 Funktionskomposition

Funktionen haben einen Ergebnistyp. Ist der Ergebnistyp der Funktion f gleich dem Typ des einzigen Parameters der Funktion g, so können die beiden Funktionen miteinander verknüpft werden. Das Ergebnis von f kann Parameter für g sein. In der Mathematik würde man y=g(f(x)) schreiben, wenn f auf den Parameter x angewandt wird und g auf das Ergebnis von f. In Haskell wäre die normale Schreibweise y = g ( f x ). Dieses ist jedoch schlecht lesbar, ins besondere, wenn mehrere Funktionen aneinander gehängt werden sollen. Der Operator . verbindet zwei Funktionen von rechts nach links.

Beispiel: Die Funktion fgh soll die Funktion h auf das Ergebnis der Funktion g anwenden. g wird auf f von x angewand.

f :: TypA -> TypB
g :: TypB -> TypC
h :: TypC -> TypD

fgh :: TypA -> TypD
(1) fgh x = h ( g ( f x ) )
(2) fgh x = h . g . f x

(1) ist die normale Schreibweise.
(2) ist die Definition mit Operator . und dadurch lesbarer.


Zurück Weiter Inhalt