07/12/25 01:33:03
>>637
本来関数型言語は参照透明性が保たれていなければならない。だから代入があるプログラムは厳密には関数型プログラムでない。
その辺は3章のはじめの内容だけど、参照透明性が保たれていると言うのは、”同じものは常に同じ(結果を返す)”と言うこと。
このとき全ての手続きは記憶する内部状態を持たないので、いかなる時も同じ値を渡せば同じ結果が返ってくる。
この辺が、他のCとかと大きく違うところ。Cなどでは代入を初歩の初歩で学ぶが、SICPでは2章まで一切代入を使っていない。