Programing in Haskell 第二版 を読んで

概要

Lambda Noteさんから出版されている プログラミングHaskell 第二版についての記事です。

読んでみて

私の知識としてはWebなどで適当にHaskellの文法を勉強していた程度です。
個人的には一通り読んで基礎的なHaksellについての知識が身についたと思います。
本書は2部構成になっており第1部が基礎知識、第2部が少し発展した内容となっています。
翻訳も丁寧で読みやすかったです。

この本が良いと思った点は以下の3つになります。

  • 多めの練習問題
  • シンプルなプログラムを作ることを通した学習
  • わかりやすい説明

ただ不足に思った点もあります。それは以下の1つです。

  • モナド近辺の実践的な内容の不足

良かった点

多めの練習問題

本書では章末に練習問題がついており、それを解くことで理解をより深めることができます。
問題の難易度も簡単すぎず難しすぎずと適切なレベルだと思います。
ただ、難点があるとすれば自らの実装をチェックするためのテストコードがほしかったです。

シンプルなプログラムを作ることを通した学習

練習問題だけではなく本書には今までの章の内容を用いてシンプルなプログラムを作るといった内容があります。
これを通してどのように今までの知識が使えるのかがわかり、単に文法などを勉強するよりもより理解が深まると思います。

わかりやすい説明

モナド、Foldable,Traversable についての説明がわかりやすいと思いました。
個人的にはモナドの理解が難しいと思っていたのでこのあたりに関してわかりやすい説明があるのは助かりました。

不足に感じた点

モナド近辺の実践的な内容の不足

以下の内容には私がHaskellの初学者であるがゆえの誤りが含まれている可能性があります。
本書では主にStateモナドが題材として取り上げられています。
他のモナドについてはその詳しい説明はあまりされていません。
しかし、実際にはモナドとその近辺の関数を用いた実装が必要になってくるのではないかと思っています。
そのあたりについては別の本もしくは実際のコードを読んでで補う必要があるように感じました。