2006-12-21 [長年日記]
λ. Scheme:マクロ:CommonLispとの比較
黒田さんの About Scheme を読んだときには、「Scheme のマクロは hygienic なのに、何を勘違いしているのだろう。Schemerは反論すればよいのに」と思っていたのだけど、単なる反論よりもずっと興味深い話が出てきた。
Schemeのマクロは、「展開結果内での自由変数」を正しく扱うために、S式だけでなくマクロ定義の「環境」も同時に扱っていて、そのため syntactic closure と呼ばれていると。