「すごい Haskell 読書会 in 大阪」2周目 第16回

すごいHaskell読書会 in 大阪 2週目 #16 : ATND https://atnd.org/events/63853

「すごい Haskell 読書会 in 大阪」2周目の第16回、今日は第14章「もうちょっとだけモナド」の14.1から14.4まででした。

第14章「もうちょっとだけモナド

14.1 Writer? 中の人なんていません!

Writer モナドの話。なにげにかなりボリュームのあるセクション。

プログラムにログを追加するくらいのことで、こんな大袈裟なことになるのかよ! と言いたい気分です。いやしかし、モナドに慣れればそんな大袈裟なことでもないのかもしれません。

14.2 Reader? それはあなたです!

Reader モナドの話。

本の中では「関数モナドReader モナド」という雰囲気がただよっていますが、今日の発表によれば、Reader モナドはもっと一般的なものであるとのこと。

14.3 計算の状態の正体

State モナドの話。

こいつを使いこなせればだいぶいろいろなプログラムが書けそうな気がするのですが、同時に一番理解できてないやつでもあります。今日の演習問題もこの内容がらみでした。

14.4 Errorを壁に

Either の話。

前回、エラーの表現に Maybe を使う話がありましたが、そこではエラーの表現が単に Nothing になっていました。代わりに Either を使うとエラーの内容も表現できます。

感想とか

正直言って、理解が追いつかなくなっています。それでも、一人で本を読むよりも他の人の発表を聞くほうが、刺激がもらえて良いです。次回は同じ範囲の発表を僕が担当することになったので、再度本を読み直します。

それにしても、昨年あたりは「実務にはあまり関係しないけど自分の幅を広げるために勉強しよう」くらいの気分でした。しかし最近は、Haskell そのものを使うわけではないですが、考え方は実務に関係してくるようになってきました。特に、実務で Swift を使い出した頃から影響が大きくなってきています。なにが役に立つか分からないものですね。