Implementing typed intermediate languages

被引:0
|
作者
Shao, Z [1 ]
League, C [1 ]
Monnier, S [1 ]
机构
[1] Yale Univ, Dept Comp Sci, New Haven, CT 06520 USA
关键词
D O I
10.1145/291251.289460
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
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.
引用
收藏
页码:313 / 323
页数:11
相关论文
共 50 条
  • [1] Implementing typed intermediate languages
    Shao, Zhong
    League, Christopher
    Monnier, Stefan
    Proceedings of the ACM SIGPLAN International Conference on Functional Programming, ICFP, 1998, : 313 - 323
  • [2] Typed intermediate languages for shape analysis
    Belle, G
    Moggi, E
    TYPED LAMBDA CALCULI AND APPLICATIONS, 1997, 1210 : 11 - 29
  • [3] Implementing Statically Typed Object-Oriented Programming Languages
    Ducournau, Roland
    ACM COMPUTING SURVEYS, 2011, 43 (03)
  • [4] Simple typed intermediate language for object-oriented languages
    Chen, J
    Tarditi, D
    ACM SIGPLAN NOTICES, 2005, 40 (01) : 38 - 49
  • [5] MIL, a Monadic Intermediate Language for Implementing Functional Languages
    Jones, Mark P.
    Bailey, Justin
    Cooper, Theodore R.
    PROCEEDINGS OF THE 30TH SYMPOSIUM ON IMPLEMENTATION AND APPLICATION OF FUNCTIONAL LANGUAGES (IFL 2018), 2018, : 71 - 82
  • [6] STRONGLY TYPED LANGUAGES
    MCCOY, EE
    BYTE, 1983, 8 (05): : 418 - &
  • [7] Dynamically typed languages
    Church, Andrew
    IEEE SOFTWARE, 2008, 25 (02) : 7 - 8
  • [8] Dynamically typed languages
    Tratt, Laurence
    Wuyts, Roel
    IEEE SOFTWARE, 2007, 24 (05) : 28 - 30
  • [9] Dynamically Typed Languages
    Tratt, Laurence
    ADVANCES IN COMPUTERS, VOL 77, 2009, 77 : 149 - 184
  • [10] Dynamically typed languages - In Reply
    Tratt, Laurence
    Wuyts, Roel
    IEEE SOFTWARE, 2008, 25 (02) : 8 - 8