【24h】

Explicit polymorphism and CPS conversion

机译:显式多态性和CPS转换

获取原文

摘要

We study the typing properties of CPS conversion for an extension of Fω with control operators. Two classes of evaluation strategies are considered, each with call-by-name and call-by-value variants. Under the "standard" strategies, constructor abstractions are values, and constructor applications can lead to non-trivial control effects. In contrast, the "ML-like" strategies evaluate beneath constructor abstractions, reflecting the usual interpretation of programs in languages based on implicit polymorphism. Three continuation passing style sub-languages are considered, one on which the standard strategies coincide, one on which the ML-like strategies coincide, and one on which all strategies coincide. Compositional, type-preserving CPS transformation algorithms are given for the standard strategies, resulting in terms on which all evaluation strategies coincide. This has as a corollary the soundness and termination of well-typed programs under the standard evaluationstrategies. A similar result is obtained for the ML-like call-by-name strategy. In contrast, such results are obtained for the call-by-name strategy. In contrast, such results are obtained for the call-by value ML-like strategy only for a restricted sub-language in which constructor abstractions are limited to values.

机译:

我们研究了使用控制算子对F ω进行扩展的CPS转换的类型属性。考虑了两类评估策略,每一种都有按名称调用和按值调用的变体。在“标准”策略下,构造函数抽象是值,构造函数应用程序可能导致非平凡的控制效果。相反,“类似于ML”的策略在构造函数抽象之下进行评估,反映了基于隐式多态性的语言对程序的通常解释。考虑了三种连续通过样式子语言,一种与标准策略重合,一种与类似ML的策略重合,另一种与所有策略重合。为标准策略提供了组成型,保留类型的CPS转换算法,从而得出了所有评估策略均符合的术语。因此,在标准评估策略下,良好类型程序的健全性和终止是必然的。对于类似ML的“按名称呼叫”策略,获得了类似的结果。相反,这种结果是通过按名字呼叫策略获得的。相比之下,仅对于其中构造函数抽象仅限于值的受限子语言,对于类似按值ML的值的按调用策略,才能获得这样的结果。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号