GADTs meet subtyping - Inria - Institut national de recherche en sciences et technologies du numérique Access content directly
Conference Papers Year : 2013

GADTs meet subtyping


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.pdf (263 Ko) Télécharger le fichier
Origin Files produced by the author(s)

Dates and versions

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



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⟩


330 View
790 Download



Gmail Mastodon Facebook X LinkedIn More