ITPro連載:本物のプログラマはHaskellを使う

こちらのshelarcyさんによる連載、僕にはとてもためになってます。あちこち調べまわってゴリゴリ考えてHaskellを解き進むのもそれはそれで面白いのですが、こちらでは網羅的に、でも実用の妨げになる端折りもなくHaskellのことが説明されているように思います。

3,4,5,9回と読みましたが、どれも読み応えがあり、各回のテーマをしっかりと理解できました。参照リンクなどもちゃんと提供されているようです。僕が自分で色々と考えていたときに疑問に思っていたこともちゃんと回答されていたりして、(Listはなぜモナドなのか?)大いにHaskellの理解度を深めてくれました。モナドの理解を深めたい方にはおすすめです。第10回以降の並列プログラミングもとてもおもしろそうです。こんなに深く説明されてしまうと、今後も自分でゴリゴリやっていく理由が少し減ってしまうような...

http://itpro.nikkeibp.co.jp/article/COLUMN/20060915/248215/?ST=ittrend

連載目次
第1回 関数型プログラミングの世界へようこそ
第2回 多相性(ポリモーフィズム)への理解を深める
第3回 mapからモナドを理解する
第4回 「取り出し可能な値」のみを持つListモナド
第5回 ListではなくMaybeを使う意義
第6回 局所的な「状態」を利用するためのStateモナド
第7回 入出力と遅延評価の間を取り持つIOモナド
第8回 遅延評価の仕組み
第9回 Haskellはなぜ遅いと思われているのか
第10回 Haskellで学ぶ並列プログラミング(その1)
第11回 Haskellで学ぶ並列プログラミング(その2) 並列化手法
第12回 Haskellで学ぶ並列プログラミング(その3) 並行プログラミングと並列処理
第13回 スレッド安全なI/Oの排他制御を実現する
第14回 Haskellでメッセージ通信を使う利点
第15回 Haskellでのデバッグのコツをつかむ
第16回 Haskellでのテストの自動化を考える