【24h】

Rank 2 Intersection Types for Modules

机译:模块的等级2交叉点类型

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

摘要

We propose a rank 2 intersection type system for a language of modules built on a core ML-like language. The principal typing property of the rank 2 intersection type system for the core language plays a crucial role in the design of the type system for the module language. We first consider a "plain" notion of module, where a module is just a set of mutually recursive top-level definitions, and illustrate the notions of: module intrachecking (each module is typechecked in isolation and its interface, which is the set of typings of the defined identifiers, is inferred); interface interchecking (when linking modules, typechecking is done just by looking at the interfaces); interface specialization (interface intrachecking may require to specialize the typing listed in the interfaces); principal interfaces (the principal typing property for the type system of modules); and separate typechecking (looking at the code of the modules does not provide more type information than looking at their interfaces). Then we illustrate some limitations of the "plain" framework and extend the module language and the type system in order to overcome these limitations. The decidability of the system is shown by providing algorithms for the fundamental operations involved in module intrachecking and interface interchecking.
机译:对于基于核心ML类语言的模块的语言,我们提出了等级2交叉点类型的系统。核心语言的等级2交集类型系统的主要类型属性在模块语言的类型系统的设计中起着至关重要的作用。我们首先考虑模块的“普通”概念,其中模块只是一组相互递归的顶级定义,并说明以下概念:模块内部检查(每个模块都是单独进行类型检查的,并且其接口是一组检查)。推断定义的标识符的类型);接口内部检查(链接模块时,仅通过查看接口即可进行类型检查);接口专业化(接口内部检查可能需要对接口中列出的类型进行专业化处理);主体接口(模块类型系统的主体类型属性);和单独的类型检查(查看模块的代码不会提供比查看其接口更多的类型信息)。然后,我们说明“普通”框架的一些局限性,并扩展模块语言和类型系统,以克服这些局限性。通过提供用于模块内部检查和接口内部检查所涉及的基本操作的算法,可以显示系统的可确定性。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号