Zurück Weiter Inhalt

1.5 Typparamter

Funktionen können ohne Festlegung des Parameters definiert werden. Man spricht von generischen Funktionen.

Im folgenden Beispiel wird die Funktion square ohne Angabe ines explizieten Typs definiert. Der verwendete Operator * muss daher für alle möglichen Parametertypen definiert sein. Oft werden generische Funktionen für Klassen definiert. Klassen bilden eine Gruppe von Typen, für die gewissen Operationen definiert sind.

Syntax:

name :: t1 -> t2 -> ... -> tk -> t
name x1 x2 ... xk = Ausdruck

Beispiel:

square :: a -> a
square n = n * n


Zurück Weiter Inhalt