Flexible type analysis

Citation
K. Crary et S. Weirich, Flexible type analysis, ACM SIGPL N, 34(9), 1999, pp. 233-248
Citations number
31
Categorie Soggetti
Computer Science & Engineering
Journal title
ACM SIGPLAN NOTICES
ISSN journal
15232867 → ACNP
Volume
34
Issue
9
Year of publication
1999
Pages
233 - 248
Database
ISI
SICI code
1523-2867(199909)34:9<233:FTA>2.0.ZU;2-P
Abstract
Run-time type dispatch enables a variety of advanced optimization technique s for polymorphic languages, including tag-free garbage collection, unboxed function arguments, and flattened data structures. However, modern type-pr eserving compilers transform types between stages of compilation, making ty pe dispatch prohibitively complex at low levels of typed compilation. It is crucial therefore for type analysis;st these low levels to refer to the ty pes of previous stages. Unfortunately, no current intermediate language sup ports this facility. To fill this gap, we present the language LX, which provides a rich languag e of type constructors supporting type analysis (possibly of previous-stage types) as a programming idiom. This language is quite flexible, supporting a variety of other applications such as analysis of quantified types, anal ysis with incomplete type information, and type classes. We also show that LX is compatible with a type-erasure semantics.