Lisp Scheme Part16
■ このスレッドは過去ログ倉庫に格納されています
0191170
2007/03/05(月) 14:11:22ありがとうございます
>引数の評価順序を決めたりするのは、あくまでも展開した結果の
>コードが既存の構文を組み合わせてそういった処理を真似る ...
ええと、つまりそもそもマクロはプログラムを生成するプログラムを書くためのもので、
引数の評価順序を制御して、構文を作るものじゃない。
たまたまそう見えるだけ、ってことでしょうか。
>schemeではプログラム的に
>シンボル名から環境を参照する様な方法は提供していないので、
CommonLispではあるシンボルがどの環境に設定されているか参照できるのですか?
>ポールグラハムが気にしてるのは効率の問題だろうから。
ANSI CommonLispのマクロの章には二つの理由が載っていて、
ひとつはそうでした。もうひとつはレキシカルクロージャが利用できないと言うことでした。
二つ目の理由は今回の例では問題にはなりませんでしたが、
マクロがユーザーが定義したマクロや関数に展開されて、
それが評価される必要がある場合に問題になるような気がするんですが...
長々とすいません
■ このスレッドは過去ログ倉庫に格納されています