MetaCartSign in to MyCiteSeer

Include Citations | Advanced Search | Help

Include Citations | Advanced Search | Help

  Optimal type lifting (1998) [12 citations — 2 self]

Download:
pdf | ps
by Bratin Saha, Zhong Shao
In Second Workshop on Types in Compilation
http://flint.cs.yale.edu/flint/publications/lift.ps.gz
Add To MetaCart

Abstract:

Abstract. Modern compilers for ML-like polymorphic languages have used explicit run-time type passing to support advanced optimizations such as intensional type analysis, representation analysis and tagless garbage collection. Unfortunately, maintaining type information at run time can incur a large overhead to the time and space usage of a program. In this paper, we present an optimal type-lifting algorithm that lifts all type applications in a program to the top level. Our algorithm eliminates all run-time type constructions within any core-language functions. In fact, it guarantees that the number of types built at run time is strictly a static constant. We present our algorithm as a type-preserving source-to-source transformation and show how to extend it to handle the entire SML'97 with higher-order modules. 1

Citations

1463 The Definition of Standard ML – Milner, Tofte, et al. - 1990
588 Compiling with Continuations – Appel - 1992
318 Towards a theory of type structure – Reynolds
249 Compiling polymorphism using intensional type analysis – Harper, Morrisett - 1995
218 TIL: A type-directed optimizing compiler for ML – Tarditi, Morrisett, et al. - 1996
205 The essence of compiling with continuations – Flanagan, Sabry, et al. - 1993
198 Interprétation fonctionnelle et Élimination des coupures dans l’arithmétique d’ordre supérieur. Thèse de doctorat d’état, Université de Paris VII – Girard - 1972
176 Implementing lazy functional languages on stock hardware: the spineless tagless g-machine – Jones - 1992
169 Unboxed objects and polymorphic typing – Leroy - 1992
150 Lambda lifting: transforming programs to recursive equations – Johnsson - 1985
130 A type-based compiler for Standard ML – Shao, Appel - 1995
115 Qualified types: Theory and practice – Jones - 1992
105 On the type structure of Standard ML – Harper, Mitchell - 1992
94 A Survey of the Project AUTOMATH – Bruijn - 1980
83 An overview of the FLINT/ML compiler – Shao - 1997
74 Coherence for qualified types – Jones - 1993
71 et al. Report on the programming language Haskell: a non-strict, purely functional language version 1.2 – Hudak - 1992
68 Tag-free garbage collection using explicit type parameters – Tolmach - 1994
64 Flexible representation analysis – Shao - 1997
62 A compilation method for ML-style polymorphic record calculi – Ohori - 1992
58 The design and implementation of programming languages – Hughes - 1983
53 An ad hoc approach to the implementation of polymorphism – Morrison, Dearle, et al. - 1991
52 Compiling Haskell by Program Transformation: a Report from the Trenches – Jones - 1996
49 Dynamics in ML – Leroy, Mauny - 1993
47 Let-floating: moving bindings to give faster programs – Jones, Partain, et al. - 1996
34 Dictionary-Free Overloading by Partial Evaluation – Jones - 1994
34 Typed cross-module compilation – Shao - 1997
29 Polymorphism for imperative languages without imperative types – Wright - 1993
11 A notation for lambda terms II: Refinements and applications – Nadathur - 1994
9 Full lifting of type parameters – Minamide - 1997
9 A modular fully-lazy lambda lifter in haskell – Jones - 1991