[xyzzy:01870] Re: 関数名の修飾について質問
- Subject: [xyzzy:01870] Re: 関数名の修飾について質問
- From: Tetsuya Kamei <kamei@xxxxxxxxxxxx>
- X-mailer: Denshin 8 Go V321.2b5
- X-yzzy-version: 0.0.0.73
大橋さん、こんにちは。
Wed, 10 Feb 1999 10:23:13 +0900 の
“[xyzzy:01864] Re: 関数名の修飾について質問”
への返事です.
| >(eval-when (:compile-toplevel :load-toplevel :execute)
| > (require "foreign"))
| のeval-whenというのはどういう意味でしょうか。F1でもF4でも説明が出てこないの
ひとことで言うと、フォームをいつ評価するかってことです。
今回の例だと、define-dll-entry などのマクロはコンパイル時に展開
されなければならないのですが、define-dll-entry は foreign で定
義されているので、foreign がロードされていないとマクロであるこ
とが認識できません。(eval-when ...) がなく、単に (require
"foreign") だけだと、コンパイル時には単なる関数コールだとみなさ
れてしまうため、マクロが展開されなくなってしまいます。そのため
に、eval-when でコンパイルするときも foreign をロードしろと指定
しているわけです。
# 書いた本人が読んで分かんないんだから、分からんだろうなぁ(^^;
--
亀井哲弥(Tetsuya Kamei)
kamei@xxxxxxxxxxxx/JCA00343@xxxxxxxxxxx