Séminaire Cambium, Inria Paris, 2 rue Simone Iff
Online
Vendredi 1 décembre, 10h30
Sergei Stepanenko
Aarhus University
The Essence of Generalized Algebraic Data Types
Since their introduction twenty years ago, generalized algebraic data
types, commonly referred to as GADTs, have become a staple of modern
functional programming languages. First introduced as an extension of
the Glasgow Haskell Compiler, they were since adopted by OCaml, Scala
and many other programming languages, due to their ability to
establish more precise specifications for algebraic type constructors.
These implementations, and the associated difficulties, have also
resulted in a rich literature that tackles the problems of type
inference in languages with ML-style polymorphism and GADTs. However,
one feature that remains understudied is the semantics of GADTs and
the nature and expressivity of these types.
In this presentation, we demonstrate an extension of System Fω with
recursive types and internalized type equalities with injective type
constructors. Using this calculus, we can express GADTs encountered in
the wild. Finally, we build two relational models of our calculus: a
simple, unary model that illustrates a novel, two-stage interpretation
technique, necessary to account for the equational constraints; and a
more sophisticated, binary model that relaxes the construction to
allow, for the first time, formal reasoning about data-abstraction in
a calculus equipped with GADTs.
Vous pouvez vous abonner à nos annonces de séminaires:
http://cambium.inria.fr/seminar.html
Nos séminaires sont accessibles en ligne en direct
via le lien ci-dessus.