...
首页> 外文期刊>Concurrency and Computation >Transposing F to C~#: expressivity of parametric polymorphism in an object-oriented language
【24h】

Transposing F to C~#: expressivity of parametric polymorphism in an object-oriented language

机译:将F转换为C〜#:面向对象语言中的参数多态性的表达

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

摘要

We present a type-preserving translation of System F (the polymorphic lambda calculus) into a forthcoming revision of the C~# programming language supporting parameterized classes and polymorphic methods. The forthcoming revision of Java in JDK 1.5 also makes a suitable target. We formalize the translation using a subset of C~# similar to Featherweight Java. We prove that the translation is fully type-preserving and that it preserves behaviour via the novel use of environment-style semantics for System F. We observe that whilst parameterized classes alone are sufficient to encode the parameterized datatypes and let-polymorphism of languages such as ML and Haskell, it is the presence of dynamic dispatch for polymorphic methods that supports the encoding of the 'first-class polymorphism' found in System F and recent extensions to ML and Haskell.
机译:我们将系统F(多态lambda演算)的保留类型的翻译呈现为即将发布的C〜#编程语言版本,该版本支持参数化类和多态方法。 JDK 1.5中即将发布的Java版本也将成为一个合适的目标。我们使用类似于Featherweight Java的C〜#的子集形式化翻译。我们证明翻译是完全保留类型的,并且通过对F系统使用环境样式语义的新颖使用来保留行为。我们观察到,尽管单独使用参数化类足以编码参数化数据类型和语言的let-polymorphism,例如ML和Haskell,正是多态方法动态调度的存在,它支持对System F和ML和Haskell的最新扩展中“一流的多态性”的编码。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号