Articles
A Categorical and Graphical Treatment of Closure Conversion

https://doi.org/10.1016/S1571-0661(04)80090-2Get rights and content
Under a Creative Commons license
open access

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.

Cited by (0)