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.
Type de document :
Communication dans un congrès
Matthias Felleisen and Philippa Gardner. ESOP 2013 - 22nd European Symposium on Programming, Mar 2013, Rome, Italy. Springer, 7792, pp.554-573, 2013, Lecture Notes in Computer Science. <10.1007/978-3-642-37036-6>
Liste complète des métadonnées


https://hal.archives-ouvertes.fr/hal-00772993
Contributeur : Didier Rémy <>
Soumis le : lundi 14 janvier 2013 - 09:39:55
Dernière modification le : mercredi 29 juillet 2015 - 01:25:23

Fichiers

esop.pdf
Fichiers produits par l'(les) auteur(s)

Identifiants

Collections

Citation

Gabriel Scherer, Didier Rémy. GADTs meet subtyping. Matthias Felleisen and Philippa Gardner. ESOP 2013 - 22nd European Symposium on Programming, Mar 2013, Rome, Italy. Springer, 7792, pp.554-573, 2013, Lecture Notes in Computer Science. <10.1007/978-3-642-37036-6>. <hal-00772993v2>

Partager

Métriques

Consultations de
la notice

220

Téléchargements du document

239