在[1]中,米切尔·旺德(Mitchell Wand)证明了在纯lambda演算中添加fexprs会使语境对等理论变得微不足道,这意味着如果两个词是 -congruent,则它们在语境上是等同的。在探索相关工作时,他认为“我们的结果扩展了对阿尔伯特·梅耶[2]的古老观察,并使得上下文对等变得微不足道”。但是参考[2],只能找到Meyer的以下陈述:eval
quote
我第一个想到的是与语言
quote
-eval
功能,如LISP [3]有语法和可执行的对象之间没有区别类型。实际上quote
-eval
在LISP中看起来已经足够安全了,因为尽管从quote
句法上来说cond
,它看起来像是一个真正的运算符,例如say ,但它实际上并不像一个运算符(它只有在解析时有行为,在运行时才有行为,例如,一个人不能通过quote
作为过程的参数)。不过,我还没有看到令人信服的示例,其中quote
-eval
功能值得。
不管这些注释中有哪一个小缺陷,都可能误导读者以为cond
可以将其作为参数传递给过程。如果我理解正确,那么迈耶所说的“ quote
- eval
似乎足够安全”意味着quote
- eval
尽管他没有提供证明,但可能不会使方程式理论变得微不足道。
编辑:
正如Martin所建议的那样,由于所有三篇论文都引用了有关LISP家庭语言的内容,因此让我们将这个问题放在相同的背景下。 在地球上,带有quote
- 的语言eval
(特别是LISP)的上下文对等是否微不足道?
[1]米切尔· 旺德(Mitchell Wand),《 Fexprs理论不重要》。Lisp和符号计算10(3):189-199(1998)。
[2] Albert Meyer, “正式软件开发的编程逻辑研讨会”之谜。1984年
[3] John McCarthy,符号表达式的递归函数及其通过机器的计算,第一部分。1960年4月ACM的通讯。