Zum Inhalt springen

Haskell (Programmiersprache)

aus Wikipedia, der freien Enzyklopädie
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 7. Juni 2003 um 22:46 Uhr durch Fschoenm (Diskussion | Beiträge) (Übernommen von "Haskell" und leicht erweitert). Sie kann sich erheblich von der aktuellen Version unterscheiden.
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)

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 Restliste xs alle kleineren bzw. größeren Elemente als x auszuwählen.