MetaCartSign in to MyCiteSeer

Include Citations | Advanced Search | Help

Include Citations | Advanced Search | Help

  A categorical and graphical treatment of closure conversion (1999) [3 citations — 2 self]

Download:
pdf | ps
by Ralf Schweimeier, Alan Jeffrey
In Proc. MFPS 15
ftp://fpl.cs.depaul.edu/pub/ajeffrey/mfps99.ps.gz
Add To MetaCart

Abstract:

This paper gives a formal basis for the closure conversion phase of functional programming languages with imperative features, using a graphical semantics for the language. We present normal forms of graphs, one corresponding to procedural languages, and one corresponding to object-oriented languages. Using closure conversion, we can prove normalization results for both normal forms. Thus, we obtain sound algorithms for compiling the language into either procedural or object-oriented code. We discuss efficiency issues of the translation and suggest some improvements on the algorithm. 1

Citations

588 Compiling with Continuations – Appel - 1992
354 Computational Lambda-Calculus and Monads – Moggi - 1989
182 Simple type-theoretic foundations for object-oriented programming – Pierce, Turner - 1994
150 Lambda lifting: transforming programs to recursive equations – Johnsson - 1985
145 Calculi for interaction – Milner - 1996
138 Semantics of Programming Languages – Gunter - 1992
138 Typed closure conversion – Minimide, Morrisett, et al. - 1996
101 Traced monoidal categories – Joyal, Street, et al. - 1996
90 Modern Compiler Implementation – Appel - 1998
53 Models of Sharing Graphs: A Categorical Semantics of Let and Letrec – Hasegawa - 1999
42 Recursion from cyclic sharing: traced monoidal categories and models of cyclic lambda calculi – Hasegawa - 1997
26 Type systems for closure conversion – Hannan - 1995
16 Premonoidal categories and a graphical view of programs, available from http://klee.cs.depaul.edu/premon – Jeffrey - 1998
16 Action calculi V: reflexive molecular forms. Third draft; with an appendix by O. Jensen. Available from: ftp://ftp.cl.cam.ac.uk/users/rm135/ac5.ps.Z – Milner - 1994
9 Notions of computation and monad, in Information and Computation 93(1 – Moggi - 1991