Questions tagged «scheme»

1
语言与quote`-`eval`的上下文等价性是微不足道的吗?
在[1]中,米切尔·旺德(Mitchell Wand)证明了在纯lambda演算中添加fexprs会使语境对等理论变得微不足道,这意味着如果两个词是 -congruent,则它们在语境上是等同的。在探索相关工作时,他认为“我们的结果扩展了对阿尔伯特·梅耶[2]的古老观察,并使得上下文对等变得微不足道”。但是参考[2],只能找到Meyer的以下陈述:αα\alphaevalquote 我第一个想到的是与语言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的通讯。

1
Scheme的call / cc可以实现所有已知的控制流结构吗?
页面“高级方案:有些顽皮”指出: 延续是一个强大的控制流构造,几乎可以从 任何其他控制流结构中得出。 我以为Scheme的call/cc(*)与Peter Landin的J运算符相关,可以用于实现任何已知的控制流结构? 对于“控制流结构”,我特别考虑了Wikipedia对它们的描述,例如,异常,协程,绿色线程等。 具体来说,有没有使用不能实现的控制流结构的示例call/cc? (*)我无法挖掘出任何可以证明call/cc像J运算符一样强大的论文。 Felleisen的一篇论文(我还没有读过,并且承认很难完全理解它)对此进行了调查,似乎可以得出结论,即使它们处于不同的复杂性类别中,它们在形式上也是等效的。 (还请注意,我已根据以下评论更新了问题) 更新资料 基于下面@Neel的出色回答,我看了一些评论定界和不定界延续的网站,确实看来,尽管call/cc不定界是不够的。同时,第一级,分隔延续(像shift/reset)可以被使用,似乎表达任何控制流结构。
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.