Skip to main content
QUICK REVIEW

[论文解读] On the Relative Usefulness of Fireballs

Beniamino Accattoli, Claudio Sacerdoti Coen|arXiv (Cornell University)|May 14, 2015
Logic, programming, and type systems参考文献 16被引用 6
一句话总结

本文引入了火球微积分(Fireball Calculus),一种通过火球——值的递归泛化,包含符号对火球应用的开放项处理的适用性扩展的名量值λ-微积分。它提出了GLAMoUr抽象机,该机器通过常数时间的有用性检查实现高效共享,并实现相对于β-归约步数的线性开销,证明了在实践中通过多项式甚至线性复杂度开销实现有用共享是可行的。

ABSTRACT

In CSL-LICS 2014, Accattoli and Dal Lago showed that there is an implementation of the ordinary (i.e. strong, pure, call-by-name) $λ$-calculus into models like RAM machines which is polynomial in the number of $β$-steps, answering a long-standing question. The key ingredient was the use of a calculus with useful sharing, a new notion whose complexity was shown to be polynomial, but whose implementation was not explored. This paper, meant to be complementary, studies useful sharing in a call-by-value scenario and from a practical point of view. We introduce the Fireball Calculus, a natural extension of call-by-value to open terms for which the problem is as hard as for the ordinary lambda-calculus. We present three results. First, we adapt the solution of Accattoli and Dal Lago, improving the meta-theory of useful sharing. Then, we refine the picture by introducing the GLAMoUr, a simple abstract machine implementing the Fireball Calculus extended with useful sharing. Its key feature is that usefulness of a step is tested---surprisingly---in constant time. Third, we provide a further optimization that leads to an implementation having only a linear overhead with respect to the number of $β$-steps.

研究动机与目标

  • 解决在名量值λ-微积中实现有用共享的实际可行性问题。
  • 通过火球微积分将有用共享的概念扩展至开放项。
  • 设计一种抽象机(GLAMoUr),可在常数时间内测试步骤的有用性。
  • 实现相对于β-步数的线性开销,使有用共享在复杂度分析中具有可行性。

提出的方法

  • 引入火球微积作为弱名量值λ-微积的扩展,通过符号与火球处理开放项。
  • 将火球定义为值的递归扩展,允许在非值参数(如 (aa))为惰性时触发β-约化。
  • 提出GLAMoUr抽象机,通过追踪堆、栈与环境来模拟具有显式状态转移的归约。
  • 通过机器的转移规则中的结构不变量与上下文分析,实现常数时间的有用性检查。
  • 利用双线性与有界大小性论证,证明终止性与复杂度界。
  • 引入一种新颖的链指数步(⇝oec)以高效模拟多个有用约化。

实验结果

研究问题

  • RQ1在具有开放项的名量值环境下,能否高效实现有用共享?
  • RQ2在实际抽象机中,能否在常数时间内测试约化步骤的有用性?
  • RQ3与原始β-归约相比,实现有用共享的实际开销是多少?
  • RQ4火球微积能否在保持复杂度不变的前提下支持实际函数计算?
  • RQ5有用共享的开销相对于β-步数是线性还是高阶的?

主要发现

  • GLAMoUr机器利用结构不变量与上下文分析,可在常数时间内测试约化步骤的有用性。
  • 该机器实现了相对于β-步数的线性开销,证实了有用共享可实现极低性能损耗。
  • 火球微积通过允许β-约化在惰性项上触发,支持开放项的弱求值,使在标准名量值下受阻的情况得以推进。
  • 由于状态的双线性与有界大小性,有用约化策略的终止性得到保证,且满足 |ρ|c1−5 ≤ (1 + |ρ|e)|t|。
  • 系统具有确定性,所有可达状态均保证推进性,且转移系统中无临界对。
  • 结果经小幅修改后可推广至含破坏器的微积,表明其具有广泛适用性。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。