Mutually Iso-Recursive Subtyping

Author:

Rossberg Andreas1ORCID

Affiliation:

1. Independent, Munich, Germany

Abstract

Iso-recursive types are often taken as a type-theoretic model for type recursion as present in many programming languages, e.g., classes in object-oriented languages or algebraic datatypes in functional languages. Their main advantage over an equi-recursive semantics is that they are simpler and algorithmically less expensive, which is an important consideration when the cost of type checking matters, such as for intermediate or low-level code representations, virtual machines, or runtime casts. However, a closer look reveals that iso-recursion cannot, in its standard form, efficiently express essential type system features like mutual recursion or non-uniform recursion. While it has been folklore that mutual recursion and non-uniform type parameterisation can nicely be handled by generalising to higher kinds, this encoding breaks down when combined with subtyping: the classic “Amber” rule for subtyping iso-recursive types is too weak to express mutual recursion without falling back to encodings of quadratic size.We present a foundational core calculus of iso-recursive types withdeclaredsubtyping that can express both inter- and intra-recursion subtyping without such blowup, including subtyping between constructors of higher or mixed kind. In a second step, we identify a syntactic fragment of this general calculus that allows for more efficient type checking without “deep” substitutions, by observing that higher-kinded iso-recursive types can be inserted to “guard” against unwanted β-reductions. This fragment closely resembles the structure of typical nominal subtype systems, but without requiring nominal semantics. It has been used as the basis for a proposed extension of WebAssembly with recursive types.

Publisher

Association for Computing Machinery (ACM)

Subject

Safety, Risk, Reliability and Quality,Software

Reference38 articles.

1. Martín Abadi , Luca Cardelli , and Ramesh Viswanathan . 1996. An Interpretation of Objects and Object Types . In Principles of Programming Languages (POPL) . ACM Press , 396–409. Martín Abadi, Luca Cardelli, and Ramesh Viswanathan. 1996. An Interpretation of Objects and Object Types. In Principles of Programming Languages (POPL). ACM Press, 396–409.

2. Martín Abadi and Marcelo Fiore . 1996. Syntactic considerations on recursive types . In Logic in Computer Science . IEEE , 242–252. Martín Abadi and Marcelo Fiore. 1996. Syntactic considerations on recursive types. In Logic in Computer Science. IEEE, 242–252.

3. Implementing a normalizer using sized heterogeneous types;Abel Andreas;Journal of Functional Programming,2009

4. Andreas Abel and Dulma Rodriguez . 2008. Syntactic Metatheory of Higher-Order Subtyping . In Computer Science Logic, Michael Kaminski and Simone Martini (Eds.). Springer-Verlag , 446–460. Andreas Abel and Dulma Rodriguez. 2008. Syntactic Metatheory of Higher-Order Subtyping. In Computer Science Logic, Michael Kaminski and Simone Martini (Eds.). Springer-Verlag, 446–460.

5. Subtyping recursive types

Cited by 1 articles. 订阅此论文施引文献 订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献

1. Mutually Iso-Recursive Subtyping;Proceedings of the ACM on Programming Languages;2023-10-16

同舟云学术

1.学者识别学者识别

2.学术分析学术分析

3.人才评估人才评估

"同舟云学术"是以全球学者为主线,采集、加工和组织学术论文而形成的新型学术文献查询和分析系统,可以对全球学者进行文献检索和人才价值评估。用户可以通过关注某些学科领域的顶尖人物而持续追踪该领域的学科进展和研究前沿。经过近期的数据扩容,当前同舟云学术共收录了国内外主流学术期刊6万余种,收集的期刊论文及会议论文总量共计约1.5亿篇,并以每天添加12000余篇中外论文的速度递增。我们也可以为用户提供个性化、定制化的学者数据。欢迎来电咨询!咨询电话:010-8811{复制后删除}0370

www.globalauthorid.com

TOP

Copyright © 2019-2024 北京同舟云网络信息技术有限公司
京公网安备11010802033243号  京ICP备18003416号-3