Implementing typed intermediate languages

7Citations
Citations of this article
12Readers
Mendeley users who have this article in their library.

Abstract

Recent advances in compiler technology have demonstrated the benefits of using strongly typed intermediate languages to compile richly typed source languages (e.g., ML). A type-preserving compiler can use types to guide advanced optimizations and to help generate provably secure mobile code. Types, unfortunately, are very hard to represent and manipulate efficiently; a naive implementation can easily add exponential overhead to the compilation and execution of a program. This paper describes our experience with implementing the FLINT typed intermediate language in the SML/NJ production compiler. We observe that a type-preserving compiler will not scale to handle large types unless all of its type-preserving stages preserve the asymptotic time and space usage in representing and manipulating types. We present a series of novel techniques for achieving this property and give empirical evidence of their effectiveness. © 1998 ACM.

Cite

CITATION STYLE

APA

Shao, Z., League, C., & Monnier, S. (1999). Implementing typed intermediate languages. SIGPLAN Notices (ACM Special Interest Group on Programming Languages), 34(1), 313–323. https://doi.org/10.1145/291251.289460

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free