Scheme CPS转换后的行政转帐具体是什么?
在Scheme和conversion的上下文中,我很难确定什么是管理(lambda):Scheme CPS转换后的行政转帐具体是什么?,scheme,continuations,language-theory,continuation-passing,Scheme,Continuations,Language Theory,Continuation Passing,在Scheme和conversion的上下文中,我很难确定什么是管理(lambda): CPS转换引入的所有lambda表达式 只有通过CPS转换引入的lambda表达式,但是如果“手动”或通过更智能的CPS转换器进行转换,则不会编写这些表达式 如果可能的话,欢迎提供一份好的参考资料。我想我找到了我的答案。 (编辑:我接受了dimvar的答案,它更简短、更正确。) 假设输入程序不是完全CPS,则至少有一个程序返回点必须通过CPS转换转换为延续。所以这个延拓既是由转换引入的,也是必要的。因为这
- CPS转换引入的所有lambda表达式
- 只有通过CPS转换引入的lambda表达式,但是如果“手动”或通过更智能的CPS转换器进行转换,则不会编写这些表达式
在CPS中,管理redex是其运算符为延续lambda的redex。这样的重新定义可以立即减少,因为您知道要调用哪个函数。
例如,
((lambda(u)…)foo)
是一个管理性的redex,但(k foo)
不是。@Darius:这篇论文是“Beta redex的CPS转换”(我现在正在阅读)。以下是一个链接: