Ulrich Schöpp — Interaction, Continuations and Defunctionalization
Interaction, Continuations and Defunctionalization
(work in progress)
This talk is about compilation methods for functional programs. In recent work on LOGSPACE computation and hardware synthesis, methods from denotational semantics have been used for the compilation of functional programs with stringent resource constraints. This has led to the development of non-standard compilation methods based on games semantics and models of computation by interaction.
I will show that these compilation methods can be cast in terms to standard compilation techniques. Optimizing compilers for functional programming languages use a number of well-known techniques, such as CPS transform, closure conversion or defunctionalization. I will show that compilation by interpretation in a model of computation by interaction can be described as a CPS transformation followed by defunctionalization.