#Real World Haskell 読書会
#equivalence check の訳語について。
#同値性検査というのは良くないのでは?
#同値だと論理学を思い浮かべてしまう……。
#別の本では同等と訳した。同等 <-> 不等の対比関係になることを意図して。
#Lisp では「等価」と「等値
#」が使われていたけど、等値じゃダメなのかな? <- 後で思った意見。
#7章に入りました。
#putStrLn のような IO を結果として返す関数がアクションなのか? それとも putStrLn に引数を与えた結果実行されるものがアクションなのか? 長い間区別がつかなかった。
#後者がアクションです。
#7.1.2 「ある程度自動的に並列性を付与できる」って、並列 Haskell (par で並列性を指定、実際の実行はランタイムに任せる)のこと? それともデータ並列 Haskell(データ型で並列性を指定)のこと?
#私は「ある程度」というのがポイントだと思ったので、こういう風に解釈したけれど、会場では「本当に何も記述しないで並列性を付加すること(究極目標)」を想定した議論がちょっとでてました。
#あっ、データ並列 Haskell は、データ型の仕様によって並列性を指定です。こことここを並列にと明示的にしてする訳ではなく、実際の並列実行はベクトル(フラット)化機能やランタイムに任せることになるので。
#してする -> 指定する
#おそらく本文で指しているのは、半自動並列化機能である後者のデータ並列 Haskell の方でしょうね。
#7.2.2 最後に hClose でハンドルを閉じなくても自動的に閉じてくれる場合があるのはなぜ?
#最終的にハンドルが参照されなくなったときに、GC が閉じてくれるから。これは GHC 6.10.2 以降で 保証されるようになったんですけれどね。詳しくは http://hackage.haskell.org/trac/ghc/ticket/1364 #いや、執筆は GHC 6.8 時点なので、並列 Haskell の方かな……その時点ではベクトル化は提供されていませんでしたし。(上の議論)