My vote would be for Richard Bird and Phil Wadler's Intro to functional programming using Haskell.
My vote would be for Richard Bird and Phil Wadler's Intro to functional programming using Haskell.
You should definitely check it out. If you already know Haskell and you love algorithms, that book will probably be more interesting than the Intro to Haskell book.
Also check out Okasaki's book of functional data structures: http://www.amazon.com/Purely-Functional-Structures-Chris-Oka...
However, I prefer Bird/Wadler better because there's a pervasive "let's derive this"/"let's prove this" approach to the topics. By which I mean, given a spec, let's derive a program that does the task (and later, let's optimize this function using laws we know such as relations between map and filter, the laws of fold). Hutton takes this type of approach only in his final chapter.
Hutton is definitely easier, and does a better job of teaching you the core of Haskell, however Bird/Wadler teaches you how to derive programs from spec (further covered in Bird's Pearls of Functional Programming book).
I think the difference is like the one between How to Design Programs and Structure and Interpretation of Computer Programs.