宏如何根据自身定义?

时间:2017-11-12 01:08:42

标签: macros scheme lisp

LISP宏如何成为defined in terms of itself?我在LISP In Small Pieces中看到了类似的定义。我认为可能会有一个启动捆绑阶段,在定义define-macro之前,身体会被推入syntaxt-environment,但我无法在任何地方找到它。

1 个答案:

答案 0 :(得分:2)

如果您在此行上使用查看git blame ,则可以看到引入此更改的提交。以前,define-macro是使用set-syntax!基本语言定义的。

提交将使用以前的define-macro值定义替换此定义,该值是flisp.boot在加载解释器时可用的值。