A Dependently Typed Calculus with Polymorphic SubtypingSCICO Journal-First
Thu 15 Jul 2021 10:10 - 10:30 at ECOOP 2 - Modular Programming / Types (time band 3) Chair(s): Eelco Visser
A polymorphic subtyping relation, which relates more general types to more specific ones, is at the core of many modern functional languages. As those languages start moving towards dependently typed programming a natural question is how can polymorphic subtyping be adapted to such settings.
This paper presents the dependent implicitly polymorphic calculus (λ∀I): a simple dependently typed calculus with polymorphic subtyping. The subtyping relation in λ∀I generalizes the well-known polymorphic subtyping relation by Odersky and Läufer (1996). Because λ∀I is dependently typed, integrating subtyping in the calculus is non-trivial. To overcome many of the issues arising from integrating subtyping with dependent types, the calculus employs unified subtyping, which is a technique that unifies typing and subtyping into a single relation. Moreover, λ∀I employs explicit casts instead of a conversion rule, allowing unrestricted recursion to be naturally supported. We prove various non-trivial results, including type soundness and transitivity of unified subtyping.
λ∀I and all corresponding proofs are mechanized in the Coq theorem prover.
Wed 14 JulDisplayed time zone: Brussels, Copenhagen, Madrid, Paris change
19:40 - 20:40 | Modular Programming / Types (time band 1)ECOOP Technical Papers at ECOOP 1 Chair(s): Alexander J. Summers University of British Columbia (UBC) | ||
19:40 20mTalk | Compositional ProgrammingTOPLAS Journal-First ECOOP Technical Papers Weixin Zhang University of Bristol, UK, Yaozhu Sun University of Hong Kong, Bruno C. d. S. Oliveira University of Hong Kong DOI Pre-print Media Attached File Attached | ||
20:00 20mTalk | Covariant Conversions (CoCo): A Design Pattern for Type-Safe Modular Software Evolution in Object-Oriented Systems ECOOP Technical Papers Jan Bessai Technical University Dortmund, George Heineman WPI, Boris Düdder University of Copenhagen DOI | ||
20:20 20mTalk | A Dependently Typed Calculus with Polymorphic SubtypingSCICO Journal-First ECOOP Technical Papers DOI |
Thu 15 JulDisplayed time zone: Brussels, Copenhagen, Madrid, Paris change
10:10 - 11:10 | Modular Programming / Types (time band 3)ECOOP Technical Papers at ECOOP 2 Chair(s): Eelco Visser Delft University of Technology | ||
10:10 20mTalk | A Dependently Typed Calculus with Polymorphic SubtypingSCICO Journal-First ECOOP Technical Papers DOI | ||
10:30 20mTalk | Compositional ProgrammingTOPLAS Journal-First ECOOP Technical Papers Weixin Zhang University of Bristol, UK, Yaozhu Sun University of Hong Kong, Bruno C. d. S. Oliveira University of Hong Kong DOI Pre-print Media Attached File Attached | ||
10:50 20mTalk | Covariant Conversions (CoCo): A Design Pattern for Type-Safe Modular Software Evolution in Object-Oriented Systems ECOOP Technical Papers Jan Bessai Technical University Dortmund, George Heineman WPI, Boris Düdder University of Copenhagen DOI |