2004-08-02 [長年日記]
λ. "擬データを用いた対話的関数プログラミングに関する研究", 石井裕一郎
を読んだ。単一代入や変数による通信は論理型言語みたいで面白いなぁ。私は関数論理型言語については全然知らないのだけど、ひょっとしたら関数論理型言語と相性のよいフレームワークなのではないだろうか。あと、関数型言語の視点でみると、参照透明性こそ保たれているものの、定義があまりにも操作的なので、もう少しなんとかならないかなぁとも思った。
[2005-07-28 追記] Haskellでcomonadベースの似たような枠組みを書いてみて気づいたのだけど、「4.2.5 競争的書き込み」のmergeRは有限のリストに対しては正しく動作しないはず。なぜならば、writeはnilに出会ったときに擬データをnilに確定しないため、mergeRの結果のリストの終端はいつまでたっても確定しない。