Kurz: Rein funktional, streng typisiert, elegant.
Genauer: Haskell wird eingesetzt für Compiler, Finanzsoftware, Forschung, Lehre funktionaler Programmierung. Haskell (benannt nach Haskell Curry, erster Standard 1990) ist eine rein funktionale, statisch typisierte Sprache mit Lazy Evaluation (Werte werden erst berechnet, wenn man sie braucht). Es gibt keine Variablen im üblichen Sinn und keine Schleifen.
Steckbrief
| Eigenschaft | Wert |
|---|---|
| Erschienen | 1990 |
| Entwickelt von | Komitee (u. a. Simon Peyton Jones) |
| Paradigmen | rein funktional, lazy |
| Typisierung | statisch, stark, Typinferenz |
| Ausführung | kompiliert (GHC) oder interpretiert |
| Paketverwaltung | Cabal, Stack / Hackage |
| Dateiendung | .hs |
| Sprachfamilie | Funktionale Sprachen (ML/Haskell) |
Einsatzgebiete
Compiler, Finanzsoftware, Forschung, Lehre funktionaler Programmierung.
So führst du Code aus
Im Browser mit dem Haskell-Playground (play.haskell.org) oder lokal mit GHC: ghc Hallo.hs && ./Hallo, interaktiv mit ghci.
Das erste Programm
main :: IO ()
main = do
putStrLn "Hallo Haskell!"
putStrLn ("2 + 3 = " ++ show (2 + 3))
print (length "Haskell")
print [1, 2, 3]
print "Text mit Anführungszeichen"Ausgabe:
Hallo Haskell!
2 + 3 = 5
7
[1,2,3]
"Text mit Anf\252hrungszeichen"Der Kurs: 9 Kapitel
Jedes Kapitel enthält geprüfte Beispiele mit echter Ausgabe, Merksätze, eine Übungsaufgabe und ein Quiz. Zum Üben mit Fortschrittsanzeige, Abzeichen und Zertifikat: Haskell-Kurs auf der Lernseite.
Kapitel
- Einführung und erstes Programm
- Typen und Funktionen
- Pattern Matching, Guards und Rekursion
- Maybe, Either und Funktoren
Daten verarbeiten
Typsystem
Praxis
Bibliotheken
Nachschlagen
Ähnliche Sprachen
- OCaml: Funktional, statisch typisiert und schnell
- F#: Funktionale Programmierung für .NET
- Scala: Objektorientiert und funktional auf der JVM
Siehe auch
Programmiersprachen im Überblick, Sprachen im Vergleich, Zeitstrahl der Programmiersprachen, Programmierparadigmen, Kompiliert oder interpretiert?