9回この商品を含むブログを見るこちらの本を輪読する読書会でした。第2期ということで、去年の11月に始めたのですが、1年以上掛けて1冊読み終わりました。大勢の方に参加いただいて、なんとか全て読みきることが出来て感無量です。ありがとうございました。した「すごいHaskell楽しく学ぼう!」ですが、とても良い本です。実は、H本読書会を開催する以前に2回読んでいたので、今回3度めの読書となったのですが、毎回発見があり、細かい部分で誤解していたところも認識を新たにすることが出来てとても良かったです。いえ、内容は初心者よりもやや難しい感じで、第1期の「ふつうのHaskellプログラミング」を読んでいて3回読みなおしたのでだいぶ理解できていますが、初見だと厳しいかもしれません。個人的な高難易度ポイントについて挙げておきたいと思います。mapM_P.172に出てきます。この時点でモナドを説明していないので、「リストに対してI/Oアクションを返す関数をマップする」という仕組みが理解しにくかったです。華麗にスルーして13章、14章でモナドを学んでから読み返す事をオススメします。(^^;リストに対してマップするのが難しいですが、結局はモナドを返すモナド計算なので、あまり深く記にする必要はないです(おぃファンンクターとしての関数P.231です。この本の中でも屈指の難しさでは無いでしょうか。><今まで、構文の一部だと信じて疑わなかった(->)が、ファンクターって!?!?ファッ!?っと、思わずパニクる場面です。(^^;一応、第15回に解説のスライドがあります。sequenceAP.253からのsequenceAの説明は、初見だとモチベーションもよく判らず、???となりますね。(^^;Applicativeの動きも、すぐには理解しにくかったので、その応用編ということで余計です。ここでの説明は、「関数のリストに引数を適用する」処理を行っているだけなのですが、「関数のリスト」がそもそも、(?_?)だと思われます。関数も値であり、リストに入れたりすることも「当然」出来るのですが、この辺の感覚が直感的にわかってくると脱Haskell初心者への道がひらけるかもしれません。スタックと石P.333からのスタック操作関数も初心者殺しなんじゃないかと思います。次に続くStateモナドの仕組みを説明しているので、Stateモナドと合わせて何回も読んだり書いたり動かしたりして覚えましょう。セカイノカタチでも書きましたが、ここが理解できれば、モナドを理解したと言っても過言ではありません。*1powersetP.351に出てくる関数です。リストから冪集合を驚くべきシンプルな関数で実装しています。不思議!(?_?)???H本読書会では、皆でソースコードを追っかけたり別のブログを参考にしたりして、理解しました。