Implementing typed intermediate languages
- 29 September 1998
- proceedings article
- Published by Association for Computing Machinery (ACM)
- Vol. 34 (1) , 313-323
- https://doi.org/10.1145/289423.289460
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.Keywords
This publication has 23 references indexed in Scilit:
- Typed cross-module compilationPublished by Association for Computing Machinery (ACM) ,1998
- Strongly typed flow-directed representation transformations (extended abstract)Published by Association for Computing Machinery (ACM) ,1997
- Flexible representation analysisPublished by Association for Computing Machinery (ACM) ,1997
- TILPublished by Association for Computing Machinery (ACM) ,1996
- Type-directed partial evaluationPublished by Association for Computing Machinery (ACM) ,1996
- A type-based compiler for standard MLPublished by Association for Computing Machinery (ACM) ,1995
- Compiling polymorphism using intensional type analysisPublished by Association for Computing Machinery (ACM) ,1995
- Implementing lazy functional languages on stock hardware: the Spineless Tagless G-machineJournal of Functional Programming, 1992
- Standard ML of New JerseyPublished by Springer Nature ,1991
- Towards a theory of type structureLecture Notes in Computer Science, 1974