[SML 7326] Re: ブロック生成のメタプログラミング

Masato Sumi sumi @ seagreen.ocn.ne.jp
2007年 9月 12日 (水) 22:33:46 JST


おださん、ありがとうございます。鷲見です。

07/09/12 に Tomohiro Oda<tomohiro @ sra.co.jp> さんは書きました:
> それはたぶん、Scheme(あるいはLisp)だからSymbolと関数の
> 結び付きを強く感じるのでは。Haskell等の現代的な(?)関数型
> 言語では、関数の実体とシンボルはやっぱり距離があるような
> 感覚があります。

(fold + 0 '(1 2 3 4 5)) は + というシンボルを評価時に引数として渡して
(fold (lambda (x y) (+ x y)) 0 '(1 2 3 4 5)) のように無名関数を渡したときと
同様になるように fold がよきに計らうようなイメージでいて、そのつもりで
書いたのですが、これは私の完全な勘違いで、意味論的には + というシンボルに
関連付けされた関数の実体が渡されるのでの場合と同じなのですね(きっと…)。

したがって、Haskell からわざわざ置き換えた意味がないうえに、肝心の例え
としても成立していなかったもようです。取り下げさせてください(^_^;)。スミマセン。

-- 
Masato Sumi



SML メーリングリストの案内