定番中の定番。関数プログラミングに対する Reference として価値の高い一冊
★★★★★
(関数)プログラミングに対する基礎的な知識を学ばせるということを主眼にして書かれた教科書です。
そのため Miranda を使っていた前著と同様、あくまで説明の道具である Haskell の ASCII しか使えない文字制限をあえて無視して数学的・理論的に望ましい記号を使っていることに代表されるように、Haskell の解説よりもまずプログラミングについての説明を重視しているという個所が所々伺えます。
とはいえ、だからといってこの本よりも別の本を入門に使った方がいいかというと、そうではありません。strictness (正格性)と laziness (遅延性)の話や (Monad Transformer を含め) Monad の解説がかなりしっかりしていますし、参考文献への案内が充実しているので、これを足がかりに勉強するというのも悪くはないと思います。
これを読んで意味の取りにくい場所は、武市先生による訳の素晴らしい前の版の訳書である「関数プログラミング」を参照すれば、比較的すんなりと理解できると思います。
(もちろん、前の版でも扱われている範囲に限ります。訳書が原書に追随してくれるといいのですが……)