Implementing typed intermediate languages

Citation
Z. Shao et al., Implementing typed intermediate languages, ACM SIGPL N, 34(1), 1999, pp. 313-323
Citations number
43
Categorie Soggetti
Computer Science & Engineering
Journal title
ACM SIGPLAN NOTICES
ISSN journal
15232867 → ACNP
Volume
34
Issue
1
Year of publication
1999
Pages
313 - 323
Database
ISI
SICI code
1523-2867(199901)34:1<313:ITIL>2.0.ZU;2-9
Abstract
Recent advances in compiler technology have demonstrated the benefits of us ing strongly typed intermediate languages to compile richly typed source la nguages (e.g., ML). A type-preserving compiler can use types to guide advan ced optimizations and to help generate provably secure mobile code. Types, unfortunately, are very hard to represent and manipulate efficiently; a nai ve implementation can easily add exponential overhead to the compilation an d execution of a program. This paper describes our experience with implemen ting the FLINT typed intermediate language in the SML/NJ production compile r. We observe that a type-preserving compiler will not scale to handle larg e types unless all of its type-preserving stages preserve the asymptotic ti me and space usage in representing and manipulating types. We present a ser ies of novel techniques for achieving this property and give empirical evid ence of their effectiveness.