【24h】

Private Row Types: Abstracting the Unnamed

机译:专用行类型:抽象未命名的行

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

摘要

In addition to traditional record and variant types, Objective Caml has structurally polymorphic types, for objects and polymorphic variants. These types allow new forms of polymorphic programming, but they have a limitation when used in combination with modules: there is no way to abstract their polymorphism in a signature. Private row types remedy this situation: they are manifest types whose "row-variable" is left abstract, so that an implementation may instantiate it freely. They have useful applications even in the absence of functors. Combined with recursive modules, they provide an original solution to the expression problem.
机译:除了传统的记录和变体类型之外,Objective Caml还具有结构上的多态类型,用于对象和多态变体。这些类型允许新形式的多态编程,但是与模块结合使用时存在局限性:无法在签名中抽象出其多态性。专用行类型可解决这种情况:它们是清单类型,其“行变量”保留为抽象,因此实现可以自由地实例化它。即使没有函子,它们也具有有用的应用程序。与递归模块结合使用,它们提供了表达问题的原始解决方案。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号