Pythonのお勉強 Part10
■ このスレッドは過去ログ倉庫に格納されています
0191デフォルトの名無しさん
2006/07/09(日) 22:57:27参照透明性(副作用がないこと)と、>>179の「機能を制限したい」との関係がよくわからん。
>近代的な関数型言語では、関数に何でも許可してしまうLISPのような言語は原始
>的だ、と考えるんである。
参照透過性を実現するには代入のような副作用を禁止することであって、
関数に何でもかけてしまうこととは直接の関係はないんじゃね?
Haskellの関数には何でもかけるけど、参照透過性は確保されている。
(そもそも、関数型言語では関数に何でも書けるようになってないと困るだろ。)
またPythonのlambdaは式しか書けないから参照透過性が実現されているかというとそうではない。
なぜなら式は関数呼び出しを含めることができ、かつPythonの関数は副作用を含めることができるから。
それから、Pythonのlambdaでは式しか書けないのは参照透過性を実現するためだというのは、
意見としてはおもしろいけど、>>129みるかぎりはそこまで深いことは考えてなさそう。
■ このスレッドは過去ログ倉庫に格納されています