Revisiting Occurrence Typing
Résumé
We revisit occurrence typing, a technique to refine the type of variables occurring in type-cases and, thus, capture
some programming patterns used in untyped languages. Although occurrence typing was tied from its inception
to set-theoretic types—union types, in particular—it never fully exploited the capabilities of these types. Here we
show how, by using set-theoretic types, it is possible to develop a general typing framework that encompasses and
generalizes several aspects of current occurrence typing proposals and that can be applied to tackle other problems
such as the reconstruction of intersection types for unannotated or partially annotated functions and the optimization
of the compilation of gradually typed languages.
Domaines
Langage de programmation [cs.PL]Origine | Fichiers produits par l'(les) auteur(s) |
---|