这里发生的事情是弗里德曼试图避免立即用引号读取器宏的技术性来掩盖读者,所以他提供了非常简单的例子,但是当它们按原样输入时它实际上并不起作用。 REPL。在某些时候,有人认为他们应该提供工作代码,但他们并不想破坏原始文本,因此他们将代码添加为脚注。
前言说:
此外,您可能需要稍微修改程序。通常,材料只需要进行一些更改。框架中提供了有关如何尝试本书中程序的建议。前面有“S:”的框架关注Scheme,“L:”的框架涉及Common Lisp。
Atom只意味着任何不是列表的东西。当您完成练习时,您需要能够测试列表的元素以查看它是否是另一个列表。他们为非列表事物引入了一个术语。
还要注意引用是由读者处理的,读取和评估表达式的过程会消耗引号,因此:
(quote atom)
评估为
atom
参看CLISP REPL中的以下交互:
[1]> 'atom ATOM
ATOM 是文本所指的实体; 'atom 是脚注所指的内容。
ATOM
'atom
引用的数据处理是关于Lisp语法的弱点之一。我们所看到的是否是评估的结果( ATOM )或代码( 'atom )。毕竟,代码是Lisp中的数据,因此当我们希望区别时,它会模糊区别。