Haskell (Programmiersprache)
Erscheinungsbild
Haskell ist eine funktionale Programmiersprache, benannt nach dem Mathematiker Haskell Brooks Curry. Haskell ist statisch typisiert, unterstützt die Bedarfsauswertung (engl. lazy evaluation), ist eine funktionale Sprache höherer Ordnung und erlaubt die Verwendung polymorpher Datentypen. Die aktuellste Version der Sprache ist Haskell 98.
Beispielprogramm
Der QuickSort-Algorithmus, formuliert in Haskell:
qsort [] = [] qsort (x:xs) = qsort elts_lt_x ++ x : qsort elts_greq_x where elts_lt_x = [y | y <- xs, y < x] elts_greq_x = [y | y <- xs, y >= x]
- Die erste Zeile gibt an, dass die Funktion auf eine leere Liste angewendet wieder eine leere Liste ergeben soll. Die zweite Zeile sortiert rekursiv nicht-leere Listen: das erste Element
x
wird als mittleres Element der Ergebnisliste verwendet. Davor werden sortiert alle kleineren, dahinter alle größeren Elemente eingeordnet. Die letzten beiden Zeilen stehen in einer lokalen Definition. Listenbeschreibungen werden dazu verwendet, aus der Restlistexs
alle kleineren bzw. größeren Elemente alsx
auszuwählen.