The world map is based on NASA's blue marble images.
The picture of the Arts Building is from the University of Saskatchewan Archives.
back |
Die Wurzeln funktionaler Programmierung reichen bis in die 30er Jahre zurück, also in die Zeit vor der Entwicklung funktionsfähiger Computer. Insbesondere die Einführung der Lambda-Abstraktion sollte ursprünglich einer Fundierung mathematischer Konzepte dienen. 1933 wurde die äquivalenz des funktionalen Ansatzes zum Touring-Modell bewiesen, was seine Interpretation als Programmierparadigma rechtfertigt.
Im Jahr 1960 erschien mit LISP die erste funktionale Sprache. Sie erfreut sich bis heute, wohl vor allem wegen ihrer Erweiterbarkeit, größter Beliebtheit und ist nach wie vor in verschiedenen Versionen und Dialekten (der bekannteste ist SCHEME) im Einsatz. 1986 wurde Miranda vorgestellt, die erste funktionale Programmiersprache, die "lazy evaluation" unterstützt. Ursprünglich war geplant, die Entwicklung von Haskell auf der Grundlage von Miranda zu beginnen, allerdings hatten die Eigentümer dieser Sprache daran kein Interesse.
So wurde Haskell Ende der 80er Jahre von Grund auf neu konzipiert. Die erste Version wurde dieser als rein funktional angelegten Sprache wurde 1990 vorgestellt. Nachdem es im Laufe der 90er Jahre mehrere Weiterentwicklungsstufen gegeben hatte, wurde 1998 mit Haskell 98 eine stabile Sprachversion festgeschrieben. Haskell ist nach dem amerikanischen Wissenschaftler Haskell Curry (1900-1982) benannt, der mit seiner Forschung zur kombinatorischen Logik auch wichtige Impulse für die Entwicklung der funktionalen Programmierung gab.
Diese Einführung ist wie folgt aufgebaut. Im zweiten Abschnitt werden einige Grundlagen der Programmiersprache Haskell an Beispielen kurz erläutert. im dritten Teil wird auf Pattern Matching und die verzögerte Auswertung von Ausdrücken eingegangen. Abschnitt vier stellt das Eingabe/Ausgabe-System von Haskell als eine Anwendung des Monadenkonzepts vor. Schließlich fasst der fünfte Abschnitt das Gesagte zusammen und gibt Hinweise auf weitere Informationsquellen zu Haskell.
zurück | Inhalt | weiter |