GADTs meet subtyping - Archive ouverte HAL Accéder directement au contenu
Communication Dans Un Congrès Année : 2013

GADTs meet subtyping

Résumé

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.
Fichier principal
Vignette du fichier
esop-final-version.pdf (436.53 Ko) Télécharger le fichier
Origine : Fichiers produits par l'(les) auteur(s)

Dates et versions

hal-00772993 , version 1 (11-01-2013)
hal-00772993 , version 2 (14-01-2013)

Identifiants

  • HAL Id : hal-00772993 , version 1

Citer

Gabriel Scherer, Didier Rémy. GADTs meet subtyping. 22nd European Symposium on Programming (ESOP), Mar 2013, Rome, Italy. ⟨hal-00772993v1⟩
325 Consultations
776 Téléchargements

Partager

Gmail Facebook X LinkedIn More