2006-06-17 [長年日記]
λ. 発表練習
とても勉強になりました。 本当にありがとうございます。
λ. 『ふつうのHaskellプログラミング』読書会
第一部を読んだ。 p.26でIOアクションについて「アクションもHaskellの値ですが、不思議なことに、その値を評価すると入出力などが実行されます」と書かれているのが気持ち悪かった。それ以外はとても良く書けていた。
λ. reallyUnsafePtrEquality# :: a -> a -> GHC.Prim.Int#
GHC.Extsに reallyUnsafePtrEquality# :: a -> a -> GHC.Prim.Int#
という素敵な関数を発見した。ただ、これは同じサンクであるかを比較するもので、例えばa
とid a
は同じとみなされない。さらに、id a
をwhnfに簡約した後も同じとは見なされないようだ。実装を考えれば当然か。サンクのupdateにindirectionを使う場合なら、GCでindirectionが除去されることで同じになることもありそうな気がするが、どうだろう。