Fully reflexive intensional type analysis

Citation
V. Trifonov et al., Fully reflexive intensional type analysis, ACM SIGPL N, 35(9), 2000, pp. 82-93
Citations number
27
Categorie Soggetti
Computer Science & Engineering
Journal title
ACM SIGPLAN NOTICES
ISSN journal
15232867 → ACNP
Volume
35
Issue
9
Year of publication
2000
Pages
82 - 93
Database
ISI
SICI code
1523-2867(200009)35:9<82:FRITA>2.0.ZU;2-W
Abstract
Compilers for polymorphic languages can use runtime type inspection to supp ort advanced implementation techniques such as tagless garbage collection, polymorphic marshalling, and flattened data structures. Intensional type an alysis is a type-theoretic framework for expressing and certifying such typ e-analyzing computations. Unfortunately existing approaches to intensional analysis do not work well on types with universal, existential, or fixpoint quantifiers. This makes it impossible to code applications such as garbage collection persistence, or marshalling which must be able to examine the t ype of any runtime value. We present a typed intermediate language that supports fully reflexive inte nsional type analysis. By fully reflexive, we mean that type-analyzing oper ations are applicable to the type of any runtime value in the language. In particular, we provide both type-level and term-level constructs for analyz ing quantified types. Our system supports structural induction on quantifie d types yet type checking remains decidable. We show how to use reflexive t ype analysis to support type-safe marshalling and how to generate certified type-analyzing object code.