Haskell is a functional programming language, like Lisp, but statically typed, like C. It is a bigger language than Python, Scheme or C, so it is a good idea to know one or two other languages before you try Haskell. I recommend Scheme and C++ or perhaps Perl. Scheme has similar semantics, and C++ and Perl are big languages, so you will be less surprised when there is more than one way to do things.

Haskell is even more opinionated about your programming style than Python, particularly with respect to types, so you will want to understand types pretty well. I recommend Types and Programming Languages, by Benjamin Pierce.

See also:

LearnHaskell (last edited 2008-09-11 19:22:49 by NathanSanders)