在阅读Peter Seibel的"Practical Common Lisp“时,我了解到除了列表处理和求值等语言的核心部分之外,还有loop、do等宏就是使用这些核心结构编写的。首先,Lisp的“核心”到底是什么?如果需要,可以重新创建其他内容的最低要求是多少?第二部分是在哪里可以看到宏的代码,这些宏作为Common Lisp的一部分,但实际上是用Lisp编写的?作为一个次要问题,当一个人写一个Lisp实现时,他是用什么语言来做的?
给定一个复杂的数据结构,其中每个子结构都有一个具有{true或false}域的变量,struct dataBlock{ /* more members是否有一种C语言技术,即每个节点中的状态只占用一个字节中的一点?我能想到的是通过使用宏,但是宏不能包含在本地范围中,对吗?因此,拥有宏状态意味着程序中只有一个宏状态。因此,调用node1.state和node2.state使用相同的宏