06/06/04 16:13:06
C++のメソッドに対するconstってあるでしょ。
あれは、オブジェクトの状態を変えないって意味がある(実際はちょっと違うけど)
SICPにもあるけど、副作用や参照のせいで出てくるバグ(side-effect bug)も、
結構無視できない。
私の場合だけど、
副作用がある部分と、副作用が無い部分を切り分けられないかと思い
様々な言語を探していたらHaskellとかCleanとか(*)に突き当たった。
そのように見れば、IOモナドで副作用を切り分けるのもそんなに違和感が無いんじゃないかな。
(*)研究用の(実用的でない)言語なら他にもあるみたい。
URLリンク(computing-dictionary.thefreedictionary.com)