Title of article :
Implementing Typed Intermediate Languages
Author/Authors :
Shao، Zhong نويسنده , , League، Christopher نويسنده , , Monnier، Stefan نويسنده ,
Issue Information :
روزنامه با شماره پیاپی سال 1999
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 typepreserving 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 :
Program calculation , functional programming , unfold , anamorphism , traversal , breadth-first , level-order , co-induction , fold
Journal title :
A C M Sigplan (Programming Languages) Sigplan Notices
Journal title :
A C M Sigplan (Programming Languages) Sigplan Notices