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.
The Craft of Functional Programming -- Aimed at beginning programmers. More useful if you don't understand functional programming already.
Real World Haskell -- Aimed at working programmers. More useful if you know functional programming but couldn't figure out the basics, like how to read and write files in Haskell.
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:
