『プログラミング Haskell』『すごい Haskell 楽しく学ぼう!』の次に何を読む?

邦書の二大 Haskell 学習書を読み終えたら次は何を読めば良いのか? に対する偉大な先達のご意見。 途中から流れが Haskell の doctest の話題になっています。
8
山本和彦 @kazu_yamamoto

.@tanakh @objectxplosive 今までの経験2:高階関数でローンパターンを実現できるのを知らなくて、あるデータをどうやって作り出すのかまったく分からなかった。1つの高階関数だけが生成するように設計されていたのだが、意図がまったく理解できなかった。

2012-06-04 15:32:35
リンク はてなダイアリー Loan Patternいろいろ(using, scalazのwithResource, scala-arm) - tototoshiの日記 まずはコード1を見てください。 // コード1 def copyFile() = { val in = new FileInputStream(new File(&..
山本和彦 @kazu_yamamoto

.@tanakh @ruicc 設計にもなるので、一石三鳥です。型レベルで設計するときに、使用例も書いてみるのです。

2012-06-04 15:33:35
Hideyuki Tanaka @tanakh

たしかにまあ使用例、性質、型まで書いてあったら親切すぎて鼻血出るレベルではある。

2012-06-04 15:39:09
ruichi @ruicc

@tanakh @kazu_yamamoto 補助関数が多すぎる場合も分かりづらいですね。Date回りは補助関数ばかりで初めは混乱しました。

2012-06-04 15:39:17
ruichi @ruicc

@kazu_yamamoto その役割が一目わかるように図示されたらドキュメント的には理想なのかなと思っています。

2012-06-04 15:41:14
ruichi @ruicc

個々の関数の役割を型に追加することは出来なくはないだろうけど、恐らくテクニック的なものなので書く人に依りそう

2012-06-04 16:03:10
山本和彦 @kazu_yamamoto

on は sortBy とかと、const は catch と一緒に使われている例があれば、劇的に分かり易くなるはず。id の使い方なんて、初心者がこのマニュアルから読み取れる訳がない。 http://t.co/CYxMLzEi

2012-06-04 16:20:41
日比野 啓 (Kei Hibino) @khibino

.@kazu_yamamoto @tanakh @objectxplosive default の値を record update で変更するという意味ですか。そういえば xmonad の config もそうなっていたなぁ。よく出てくるパターンではあるかも

2012-06-04 17:04:39
山本和彦 @kazu_yamamoto

.@khibino @tanakh @objectxplosive そうです。Warp の setting は、最初ドキュメント不足で意味が分かりませんでした。

2012-06-04 17:06:07