LISP 宏如何成为 defined in terms of itself ?我在 LISP In Small Pieces 中看到了类似的定义。我认为可能有一个引导阶段,在定义宏定义之前主体被插入语法环境,但我无法在任何地方找到它。
最佳答案
如果您在此行使用View git blame,您可以看到引入更改的提交。以前,define-macro
是根据基本语言使用 set-syntax!
定义的。
提交将此定义替换为使用 define-macro
的先前值的定义,该值在加载解释器时可从 flisp.boot
获得。
关于macros - 如何根据自身定义宏?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47244489/