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

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

http://www.amazon.co.jp/dp/4274067815http://www.amazon.co.jp/dp/4274068854 の2大 Haskell 邦書の次の一冊は?

眼力 玉壱號 @objectxplosive

.@kazu_yamamoto 『プログラミング Haskell』と『すごい H本』の次は何に行けばいいのやら(RWH は買いました)本など読まずに実コード見るのがいいのかな?

2012-06-04 14:36:51
山本和彦 @kazu_yamamoto

.@objectxplosive 僕としては、RWH を読むのをお勧めします。よく分からなければ、質問して下さい。最新情報をお答えします。それを wiki とかにまとめていただけると、多くの人が幸せになれるかもしれません。

2012-06-04 14:38:57

RWH の古いところと、それにかわる新しい話に関しては 山本先生がこちらに纏めてくださいました。

Hideyuki Tanaka @tanakh

@objectxplosive @kazu_yamamoto それだけ読めば、とりあえずHackageのソースあさったり、http://t.co/OaCWuXQI この辺読んで何か書いてみたりするのが良いかと思います。

2012-06-04 14:57:14

次の一冊は http://www.amazon.co.jp/dp/4873114233 その先は実コードを読むのが良い…そして話題は doctest へ。

山本和彦 @kazu_yamamoto

.@tanakh @objectxplosive 別の言語から来た人が、Hackage のライブラリを見て思うのは、「テストが付いてないから、使い方分からない」ですよ。(Michael さんはたくさん Hspec を書いているのでよいですね。)

2012-06-04 14:59:17
Hideyuki Tanaka @tanakh

@kazu_yamamoto @objectxplosive ほかの言語から来た人は、テストをみて使い方を調べる感じなのですか?

2012-06-04 15:08:12
山本和彦 @kazu_yamamoto

.@tanakh @objectxplosive 動的型付き言語の人とか、TDD/BDD を実践している人は、そうですね。Haskell コミュに Doctest を広めれば、かなり印象が変わると思っています。

2012-06-04 15:09:48
Hideyuki Tanaka @tanakh

@kazu_yamamoto @objectxplosive Doctestが広まれば、使い方をドキュメントから調べるということですか?それとも、Documentにテストがくっついてるとよりわかりやすいということですか?

2012-06-04 15:12:02
Hideyuki Tanaka @tanakh

うーむ、しかしDbCとか全然はやらなかったのにこのTDDブームはなんなんだろう。

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

.@tanakh @objectxplosive 使い方がドキュメントから分かるという意味です。テストが書かれているパッケージでも、tar には含まれてないことがあります。Doctest なら、マニュアルなので絶対 tar に含まれますしね。

2012-06-04 15:15:26
Hideyuki Tanaka @tanakh

@kazu_yamamoto @objectxplosive Haskellのドキュメントを見慣れていると、使い方を知るのに呼び出し例はあまり重要ではないと思っているのですが、どうなんでしょうか?

2012-06-04 15:16:34
加藤公一(はむかず) @hamukazu

@tanakh @kazu_yamamoto @objectxplosive オブジェクト指向だと、オブジェクトの状態遷移が基本ですから、どうしてもシーケンス書かないと伝わらないのでしょう。Haskellだとあまり状態遷移的考えがないからではないでしょうか。(横から失礼しました)

2012-06-04 15:19:19
山本和彦 @kazu_yamamoto

.@tanakh @objectxplosive えー。使用例や性質は、型以上の情報がありますよ。たとえば、nub の説明に nub [1,2,1,1,3,2] → [1,2,3] と書かれていたら、分かり易いと思いませんか?

2012-06-04 15:20:48
山本和彦 @kazu_yamamoto

.@tanakh @objectxplosive あと、IO で呼び出す順番が重要な場合は、やっぱり例が欲しいです。

2012-06-04 15:21:34
ruichi @ruicc

@tanakh Data.Fixedは型を提供してますがしばらく使い方分からなかったですね。hintも昨日blog書きましたがやはり使い方分かりませんでした。

2012-06-04 15:22:57
リンク はてなダイアリー [Haskell]Haskellで文字列をevalするというかhintパッケージ - think and error 文字列からevalする感じのライブラリです。 GHCAPIのラッパーとも言います。 えーと。いや、使い方ずっと..
Hideyuki Tanaka @tanakh

@kazu_yamamoto @objectxplosive うーむ、まあわかりやすいのですが、なくてもあんまりこまらんなあと

2012-06-04 15:23:10
Hideyuki Tanaka @tanakh

@ruicc たしかに、パッと見使い方のわかりづらいライブラリはありますね。そういうのには重要そうですけど、使い方の難しいライブラリはそもそもきっちりドキュメントを書いてほしいところです・・。

2012-06-04 15:24:23
山本和彦 @kazu_yamamoto

.@tanakh @objectxplosive 今までの経験1:データ構成子が export されなくて、どうやって値を作るのか分からなかったら、default + recode で作ると、Michael に言われ、Micheal は慌ててドキュメントに補足しました。

2012-06-04 15:25:08
ruichi @ruicc

ドキュメントに関数が並列に並んでいる場合にどこから個々の役割を読み取るか問題。

2012-06-04 15:25:10
Hideyuki Tanaka @tanakh

@kazu_yamamoto @ruicc ふーむ、なるほど。まあテストを書いて、どうせ書くのなら確かにドキュメントに掲載されていると一石二鳥だと思うので、考えは理解できます。

2012-06-04 15:29:20
Hideyuki Tanaka @tanakh

僕もドキュメントにテスト書いてみるかなあ。

2012-06-04 15:29:44
ruichi @ruicc

@tanakh @kazu_yamamoto メインとなる関数とその補助関数という様な構成なら分かり易いのですが、目的の為にパーツとなる関数群が提供されているようなライブラリは使い方の読み取りが難しいと思ってます。

2012-06-04 15:31:47