什么是 A-范式?
我正在阅读各种中间形式,但除了类似 wiki 的条目之外,我无法获得有关 A-范式形式的信息。 这里有人知道这件事或者有很好的资源吗?
I was reading about various intermediate forms but I cant get information about A-normal forms besides the wiki-like entries. Does anyone here know about this or has good resources about it?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
请参阅管理范式。
弗拉纳根,科马克; 萨布里,阿姆鲁; 布鲁斯·F·杜巴;马蒂亚斯·费莱森。 “The Essence of Compiling with Continuations” 可能是权威来源。
还发现了一些关于cs252r:高级函数式编程的注释。
See Administrative normal form.
Flanagan, Cormac; Sabry, Amr; Duba, Bruce F.;Felleisen, Matthias. "The Essence of Compiling with Continuations" likely is the definitive source.
Also found some notes on cs252r : Advanced Functional Programming.
本质上,管理范式中的 lambda 项可以被解读为评估自身的过程,因为应用程序的所有参数都必须已经处于“评估”状态,因此必须明确评估参数的顺序。
此中有一个有趣的概述关于用于编译惰性函数式语言的严格中间语言的独立有趣的论文。 第 3.1 节及以下部分,特别是图 7,它给出了管理范式中严格语言的小步操作语义。
In essence, a lambda term in administrative normal form can be read as a procedure for evaluating itself, since all arguments to applications must already be in 'evaluated' and thus the order in which arguments should be evaluated must necessarily be made explicit.
There's an interesting overview in this independently interesting paper on a strict intermediate language for compiling lazy functional languages. Section 3.1 et seq, and especially figure 7 which gives a small-step operational semantics for a strict language in administrative normal form.