
|
Introduction |
| Haskell is a general purpose, purely functional programming
language. This portal points to places where you can go if you want to learn
Haskell.
The introduction on the Haskell homepage tells you that Haskell gives you: substantially increased programmer productivity; shorter, clearer, and more maintainable code; fewer errors; higher reliability; a smaller "semantic gap" between the programmer and the language; shorter lead times. There is an old - but still relevant - paper about Why
Functional Programming Matters by John Hughes. More recently
Sebastian Sylvan started a web
page on this topic. |
|
Implementations |
||||
| Messages | Size | Tools | Remarks | |
| Hugs | +/- | ++ | - | Fast compilation; used a lot for learning Haskell |
| GHC | + | - | ++ | Many language extensions; generated code very fast |
| NHC | ? | + | ++ | Profiling; debugging; tracing |
| Helium | ++ | ++ | - | No type classes (yet!) and thus incompatible with most material on this site |
|
Textbooks |
Course Material | Tutorials | References |
|
The Haskell School of
Expression
Haskell: The Craft of Functional Programming Introduction to Functional Programming using Haskell An Introduction to Functional Programming Systems Using Haskell |
Programming
in Haskell
Functional programming: course notes (English, Dutch,Spanish), slides in Dutch CS1011: tutorials, lab exercises and solutions |
Yet Another Haskell
Tutorial
Online Haskell Course (German) A Gentle Introduction to Haskell Tackling the Awkward Squad (on monads and IO, concurrency and exceptions) |
Tour of the
Haskell Syntax
Some common Hugs error messages
|