ACM Home Page
Please provide us with feedback. Feedback
Implementing typed intermediate languages
Full text PdfPdf (1.50 MB)
Source International Conference on Functional Programming archive
Proceedings of the third ACM SIGPLAN international conference on Functional programming table of contents
Baltimore, Maryland, United States
Pages: 313 - 323  
Year of Publication: 1998
ISBN:1-58113-024-4
Also published in ...
Authors
Zhong Shao  Dept. of Computer Science, Yale University, New Haven, CT
Christopher League  Dept. of Computer Science, Yale University, New Haven, CT
Stefan Monnier  Dept. of Computer Science, Yale University, New Haven, CT
Sponsor
SIGPLAN: ACM Special Interest Group on Programming Languages
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 1,   Downloads (12 Months): 24,   Citation Count: 16
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/289423.289460
What is a DOI?

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.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

1
 
2
 
3
A. W. Appel and D. B. MacQueen. Standard ML of New Jersey. In M. Wirsing, editor, Third lnt'l Syrup. on Prog. Lang. Implementation and Logic Programming, pages 1-13, New York, August 1991. Springer-Verlag.
 
4
M. Blume. A compilation manager for SML/NJ. as part of SML/NJ User's Guide, 1995.
5
6
 
7
N. de Bruijn. A survey of the project AUTOMATH. In To H. B. Curry: Essays on Combinator~l Logic, Larnbda Calculus and Formalism, pages 579-606. Edited by J. P. Seldin and J. R. Hindley, Academic Press, 1980.
8
9
10
 
11
 
12
J. Y. Girard. Interpretation Fonctionnelle et Elimination des Coupures dans l'Arithmetique d'Ordre Superieur. PhD thesis, University of Paris Vii, 1972.
 
13
14
 
15
16
17
 
18
J.-J. Levy. Optimal reductions in the lambda calculus. In To H. B. Curtal: Essays on Uornbinator~t Logic, Lambda Calculus and Formalism. Edited by J. P. Seldin and J. R. Hindley, Academic Press, 1980.
 
19
20
 
21
 
22
G. Morrisett. Compiling with Types. PhD thesis, School of Computer Science, Carnegie Mellon University, Pittsburgh, PA, December 1995. Tech Report CMU-CS-95-226.
23
 
24
25
26
 
27
S. Peyton Jones. Implementing lazy functional languages on stock hardware: the Spineless Tagless G-machine. Journal of Functional Programming, 2(2):127-202, April 1992.
 
28
29
 
30
S. Peyton Jones and E. Meijer. Henk: a typed intermediate language. In Proc. 1997 A CM SIGPLAN Workshop on Types in Compilation, June 1997.
 
31
J. H. Reppy and E. R. Gansner. The eXene library manual. Cornell Univ. Dept. of Computer Science, March 1991.
 
32
 
33
34
 
35
Z. Shao. An overview of the FLiNT/ML compiler. In Proc. 1997 A CM SIGPLAN Workshop on Types in Compilation, June 1997.
 
36
Z. Shao. Typed common intermediate format. In Proc. 1997 USENIX Conference on Domain Specific Languages, pages 89-102, October 1997.
37
38
39
 
40
D. Tarditi. Design and Implementation of Code Optimizations for a 7~ype-Directed Compiler for Standard ML. PhD thesis, School of Computer Science, Carnegie Mellon University, Pittsburgh, PA, December 1996. Tech Report CMU- CS-97-108.
41
 
42
M. Torte. Region-based memory management (invited talk). In Proc. 1998 International Workshop on Types in Compilation, March 1998.
43

CITED BY  16

Collaborative Colleagues:
Zhong Shao: colleagues
Christopher League: colleagues
Stefan Monnier: colleagues