Common Lisp, Scheme Part 14
■ このスレッドは過去ログ倉庫に格納されています
0326315
2006/01/14(土) 02:05:27(m1 a) → (m2 x a)
(m2 a b) → (let ((a 100)) b)
とゆうマクロがあったときに、(m1 x) → (m2 x x)と展開するとどうなるか。
(define x 200)
(define y 200)
(m1 x) → (m2 x x) → (let ((x 100)) x) → 100
(m1 y) → (m2 x y) → (let ((x 100)) y) → 200
はいじにっくじゃない!!!!!!ひどい!!!!
というわけで、「外から渡されたもの」と「自分のテンプレートにより生成されたもの」は区別しなきゃいけないのよ。
■ このスレッドは過去ログ倉庫に格納されています