haskell-ja > Archives > 2010/12/05

2010/12/05 06:09:11 UTCshelarcy@twitter
#
"Real World Haskell" 読書会会場にゃう♬★ミ 例によって、実況は Chaton の方で行ないます。
2010/12/05 06:14:34 UTCshelarcy
#
現在378ページです。(第16章からではありませんでしたね……。)
#
p.377 deriving の前に newtype 宣言がない。これは原文でもそう。
2010/12/05 06:19:50 UTCshelarcy
#
GeneralizedNewtypeDeriving は StandaloneDeriving と組み合わせて使えるけれど、構文やインデントから考えてこれは普通の deriving ですし。 http://www.haskell.org/ghc/docs/6.12.3/html/users_guide/deriving.html#stand-alone-deriving
2010/12/05 06:25:51 UTCshelarcy
#
なぜ split 関数を使ってるの? 乱数の種(seed)を区別して、別の乱数を生成させるため。 http://www.haskell.org/ghc/docs/6.12.3/html/libraries/random-1.0.0.2/System-Random.html#1 http://www.sampou.org/haskell/report-revised-j/random.html
2010/12/05 06:37:10 UTCshelarcy
#
15.4.2 p.379 Arrow クラスの first メソッドと sencond メソッドの型を見て、タプルに関数を適用するのがイメージできるか? http://www.haskell.org/ghc/docs/6.12.3/html/libraries/base-4.2.0.2/Control-Arrow.html
#
無理ですよね。Arrow クラスの型変数がせめて a ではなく arr であれば……。
#
StdGen の乱数生成器は遅い。
#
Hackage では Mersenne Twister を使った実装が公開されている。 http://hackage.haskell.org/package/mersenne-random http://hackage.haskell.org/package/mersenne-random-pure64
#
vector-random がランダムな要素を格納した Vector の作成に mersenne-random-pure64 を使っていますよね。 http://hackage.haskell.org/package/vector-random
2010/12/05 06:52:39 UTCshelarcy
#
criterion (というか依存する statistics パッケージ)では Mersenne Twister を使った vector-random ではなく、mwc-random を使っていますが。 http://hackage.haskell.org/package/mwc-random
2010/12/05 07:01:30 UTCshelarcy
#
『間違いだらけの疑似乱数選び』 http://www.soi.wide.ad.jp/class/20010000/slides/03/ あれ、今サーバーにつながらない……。
2010/12/05 07:12:39 UTCshelarcy
#
15.5.2 関数従属について http://www.kotha.net/ghcguide_ja/6.12.3/type-class-extensions.html#functional-dependencies
2010/12/05 07:20:13 UTCshelarcy
#
マルチパラメータ型クラスが入ってないのはなぜ? ↑にあるように、型クラスに型クラスの型変数が全て使われない関数や変数が出てくる可能性があるため、関数従属や関連型(型族)のような型変数が一つ決まれば残りの型変数が決まる仕組みが必要なため。 http://www.kotha.net/ghcguide_ja/7.0.1/type-families.html#type-instance-declarations
#
で、関数従属と型族のどっちを入れるかという議論があります。 http://hackage.haskell.org/trac/haskell-prime/wiki/MultiParamTypeClassesDilemma を参照のこと。
#
あっ、マルチパラメータ型クラスを入れる為に、関数従属と型族のどっちを入れるかという議論です。
#
念のため。
2010/12/05 07:43:12 UTC[1..100]>>=pen
#
RWH読書会(の夜の部?)に向かいます。17時頃には着くと思います。
2010/12/05 07:43:40 UTCshelarcy
#
15.6 p.393 ask って何? 英単語の ask。環境に入っている値を尋ねてるの。
#
はい、了解です。 > [1..100]>>=pen さん
2010/12/05 07:50:00 UTCshelarcy
#
nobsun が Reader モナドと combinator について気にしているようです。 @pi8027 さんが常々言っていたことですね。
#
ソースコード見て Mark P Jones が……と言っていますが、Gofer のソースコードのことかしら? http://web.cecs.pdx.edu/~mpj/
#
Gofer のサンプルコードだそうです。
2010/12/05 08:02:59 UTCshelarcy
#
mtl の Reader モナドは Reader という新しい型を宣言していますが、Control.Monad.Instances モジュールには (-> r) のインスタンスがあるので、そちらを見てみると分かり易いかも。 http://haskell.org/ghc/docs/6.12-latest/html/libraries/base-4.2.0.1/src/Control-Monad-Instances.html http://hackage.haskell.org/packages/archive/mtl/1.1.1.1/doc/html/src/Control-Monad-Reader.html#Reader
2010/12/05 08:15:01 UTCshelarcy@twitter
#
@pi8027 Reader モナドとコンビネータについて色々言ってなかったっけ……と思いましたがそんなに頻度は高くありませんでしたし、文脈が違いましたね…… http://bit.ly/gtflVz http://bit.ly/hQQSrd
2010/12/05 08:37:11 UTCshelarcy
#
15.8.4 p.390 これまでは IO を実行しない例を見せる為の準備だったのね。前振りが長いよ……。
2010/12/05 08:41:57 UTCshelarcy
#
これはオブジェクト指向の文脈だと何て言うんだっけ? > Mock オブジェクト
#
http://c2.com/cgi/wiki?MockObject
2010/12/05 08:48:48 UTCshelarcy
#
http://en.wikipedia.org/wiki/Mock_object
2010/12/05 09:09:49 UTCshelarcy
#
p.392 結局何が言いたいの? > IO の機能を制限するべきか、IO の機能をフルで使うようにするべきか、のトレードオフの問題を 15.8 からずっと語っている
2010/12/05 09:16:50 UTCshelarcy@twitter
#
"Real World Haskell" 読書会、次回は1月23日 『第16章 Parsec を使う』から
2010/12/05 09:17:45 UTCshelarcy
#
読書会終わり。