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.
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.