【24h】

Ordering Multiple Continuations on the Stack

机译:在堆栈上订购多个连续

获取原文
获取原文并翻译 | 示例

摘要

Passing multiple continuation arguments to a function in CPS form allows one to encode a wide variety of direct-style control constructs, such as conditionals, exceptions, and multi-return function calls. We show that, with a simple syntactic restriction on the CPS language, one can prove that these multi-continuation arguments can be compiled into stack frames in the traditional manner. The restriction comes with no loss in expressive power, since we can still encode the same control mechanisms. In addition, we show that tail calls can be generalized efficiently for many continuations because the run-time check to determine which continuation to pop to can be avoided with a simple static analysis. A prototype implementation in Scheme48 shows that our analysis is very precise.
机译:以CPS形式将多个连续参数传递给一个函数可以使人们对各种直接样式的控制结构进行编码,例如条件,异常和多返回函数调用。我们证明,通过对CPS语言的简单句法限制,我们可以证明可以将这些多连续参数以传统方式编译为堆栈框架。由于我们仍然可以对相同的控制机制进行编码,因此该限制不会损失表达能力。此外,我们表明尾部调用可以有效地概括为许多连续性,因为可以通过简单的静态分析避免运行时检查来确定弹出哪个连续性。 Scheme48中的原型实现表明我们的分析非常精确。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号