【数学者】Haskellはクソ言語【オナニー】
■ このスレッドは過去ログ倉庫に格納されています
0230デフォルトの名無しさん
2006/06/30(金) 08:26:59わざわざ反論するのも面倒だけど、言葉使いの話をするならば、反論させてもらう。
何度も書くが、副作用(side effect)ってのはIORefへの代入も含むと一般に考えられている。
例えばSICPで、Schemeに代入の機能を入れる所で、side effect bugという言葉が出てくるし、
何より IORefを扱うモナド IOモナドは「副作用」を扱うモナドじゃないか。
IOモナドやState使わないと代入は純粋関数的に書けないでしょ。
適当にぐぐっただけでも(Cleanのマニュアルだが)
http://sky.zero.ad.jp/〜zaa54437/programming/concepts/index3.htm#a6
>代入は、純粋な関数型言語では排除されている。というのも、代入演算子は副作用(side effect)を
>伴う為、参照透明性(referential transparency)が破壊されてしまうからである。
「狭義の副作用」という言葉があるのかどうかは知らないが、一般には代入も副作用と考えられている。
■ このスレッドは過去ログ倉庫に格納されています