関数型プログラミング言語Haskell Part8
■ このスレッドは過去ログ倉庫に格納されています
0266デフォルトの名無しさん
2007/12/08(土) 12:26:42ポインタ同値をテストする関数eqがあったとすると、
let v = [1,2] in eq v v
はTrue。一方、vを展開して
eq [1,2] [1,2]
とするとFalseになるかもしれない。
参照透過って言うのはそもそも、こういう展開をしても
プログラムの意味が変わらないってことだから、
eqによって参照透過性が破られたと言える。
■ このスレッドは過去ログ倉庫に格納されています