考虑 R7RS 方案中的以下宏定义:
(define-syntax foo
(syntax-rules ()
((_ bar)
(begin
(define baz 42)
(define-syntax bar
(syntax-rules ()
((_) baz)))))))
我已将此文件加载到 repl 中chibi-scheme
并输入:
>(富吧)
>(酒吧)
而不是预期的输出42
,我得到:
错误:未定义的变量:baz
为什么会这样?如何baz
将外部宏中定义的值传递给内部宏?