Full Iso-Recursive Types
Litao Zhou, Qianyong Wan, Bruno C. d. S. Oliveira
Abstract
There are two well-known formulations of recursive types: iso-recursive and equi-recursive types. Abadi and Fiore [1996] have shown that iso-and equi-recursive types have the same expressive power. However, their encoding of equi-recursive types in terms of iso-recursive types requires explicit coercions. These coercions come with significant additional computational overhead, and complicate reasoning about the equivalence of the two formulations of recursive types.
This paper proposes a generalization of iso-recursive types called full iso-recursive types. Full iso-recursive types allow encoding all programs with equi-recursive types without computational overhead. Instead of explicit term coercions, all type transformations are captured by computationally irrelevant casts, which can be erased at runtime without affecting the semantics of the program. Consequently, reasoning about the equivalence between the two approaches can be greatly simplified. We present a calculus called , which extends the simply typed lambda calculus (STLC) with full iso-recursive types. The calculus is proved to be type sound, and shown to have the same expressive power as a calculus with equi-recursive types. We also extend our results to subtyping, and show that equi-recursive subtyping can be expressed in terms of iso-recursive subtyping with cast operators.
CCS Concepts: • Theory of computation → Type theory; • Software and its engineering → Object oriented languages.
Ask about this paper
Your agent reads all of it.
Lune indexed this paper to the last equation, along with the top-tier papers that cite it. Ask a question and the answer quotes them.
Your agent calls
Luneget_paper_fulltext
Free to start. No credit card required.
Terminal
Install the CLIlune papers fulltext 7afd6ed0-0106-4c75-82fe-71a2bb456fdcCited by top-tier papers1
Ask how each one uses itBuilds on3
- On the semantic expressiveness of recursive typesMarco Patrignani, Eric Mark Martin, Dominique DevriesePOPL 2021 · 16 citations
- Mutually Iso-Recursive SubtypingAndreas RossbergOOPSLA 2023 · 8 citations
- Revisiting iso-recursive subtypingYaoda Zhou, Bruno C. d. S. Oliveira, Jinxu ZhaoOOPSLA 2020 · 6 citations
Related papers
- Recursive Subtyping for AllLitao Zhou, Yaoda Zhou, Bruno C. d. S. OliveiraPOPL 2023 · 8 citations
- The Essence of Generalized Algebraic Data TypesFilip Sieczkowski, Sergei Stepanenko, Jonathan Sterling, Lars BirkedalPOPL 2024 · 7 citations
- Purity of an ST monad: full abstraction by semantically typed back-translationKoen Jacobs, Dominique Devriese, Amin TimanyOOPSLA 2022 · 13 citations
- The Logic of Intersection SubtypingOlivier LaurentLICS 2026
- A Case for First-Class EnvironmentsJinhao Tan, Bruno C. d. S. OliveiraOOPSLA 2024
