解释器的意外出现往往会冻结语言的形式,并且为“递归函数......”论文做出的一些相当轻松的决定后来被证明是不幸的。其中包括条件表达式的 COND 表示法,这会导致不必要的括号深度,以及使用数字零来表示空列表 NIL 和真值 false。除了鼓励色情节目外,对地址0进行特殊解释也给后续的所有实现带来了困难。他在说什么?
...零表示空列表...因为
0==()
自 1958 年以来一直是色情内容的表情符号。现在你知道了。
while (1)
。有很多“聪明”的 C 算法,它们依赖于这样一个事实:0 是假的,而其他所有值都不是。
这同样适用于 API 调用,例如在 POSIX 或 Linux 内核中,其中一些在失败时返回 0,而一些则返回 -1(有一个经验法则,何时应用哪个,但这只是民间传说,所以通常它被打破)。考虑到麦卡锡时代这些东西还没有发展起来,你甚至可以在这里看到他的“预言”力量。