GADTs meet subtyping

Abstract : While generalized algebraic datatypes~(\GADTs) are now considered well-understood, adding them to a language with a notion of subtyping comes with a few surprises. What does it mean for a \GADT parameter to be covariant? The answer turns out to be quite subtle. It involves fine-grained properties of the subtyping relation that raise interesting design questions. We allow variance annotations in \GADT definitions, study their soundness, and present a sound and complete algorithm to check them. Our work may be applied to real-world ML-like languages with explicit subtyping such as OCaml, or to languages with general subtyping constraints.
Document type :
Conference papers
Liste complète des métadonnées

Cited literature [5 references]  Display  Hide  Download

https://hal.archives-ouvertes.fr/hal-00772993
Contributor : Didier Rémy <>
Submitted on : Monday, January 14, 2013 - 9:39:55 AM
Last modification on : Tuesday, November 20, 2018 - 11:06:03 PM

Files

esop.pdf
Files produced by the author(s)

Identifiers

Collections

Citation

Gabriel Scherer, Didier Rémy. GADTs meet subtyping. ESOP 2013 - 22nd European Symposium on Programming, Mar 2013, Rome, Italy. pp.554-573, ⟨10.1007/978-3-642-37036-6⟩. ⟨hal-00772993v2⟩

Share

Metrics

Record views

357

Files downloads

367