関数型言語Part2
■ このスレッドは過去ログ倉庫に格納されています
0165デフォルトの名無しさん
NGNGeval等のメタ機能で動的に関数を作れることと,計算モデルに最初
からファーストクラスの関数が入ってることは区別してほしいな.
Perlのevalで「動的に」関数を作れるといってるのは,Cでsystem
を使ってコンパイラを呼び出し,コンパイル結果を動的リンクして
「ほら関数が動的に作れたよ」といっているのと一緒.
関数型言語の本質的な特徴は,(1)リダクションにもとづく意味論と
(2)高階関数になるのでは.(1)だけだと項書換え系一般になっちゃう
けど,(2)を入れることで関数型を特徴付けられる.
このスレで困るのは,「他のパラダイムにおいて高階関数を表現でき
るので,高階関数は関数型を特徴付けるものではない」という不思議
な議論をする人がいること.関数型と他のパラダイムは必ずしも対立
するものではない(特にオブジェクト指向とは直交しているといって
もよい)ことに注意してほしいな.
■ このスレッドは過去ログ倉庫に格納されています