Compositional Deep Argument Flattening
We present a mechanism for unboxing function arguments in a way that allows nested objects and curried arguments to be passed to functions flattened and unboxed in registers. The mechanism supports that the transformation is performed in multiple passes, perhaps interleaved by other optimisation passes that promote new opportunities for argument unboxing, flattening, and uncurrying. Moreover, the technique fits well within a framework for incremental recompilation where transformations may be applied to functions across compilation unit boundaries.
We report on key properties of the technique, including a type preservation property and compositional properties. We also report on an implementation and on the performance benefits of the approach.
Professor in the Programming Languages and Theory of Computation (PLTC) section at Department of Computer Science, University of Copenhagen (DIKU). Conducts research in the design and implementation of programming languages, including compilation techniques for functional languages, parallelism, memory management, and program optimisation.
Thu 16 OctDisplayed time zone: Perth change
16:00 - 17:30 | |||
16:00 30mTalk | Implicit modules, a middle step towards modular implicitsRemote ML Family Workshop | ||
16:30 30mTalk | A Core Language for Extended Pattern Matching and Binding Boolean Expressions ML Family Workshop | ||
17:00 30mTalk | Compositional Deep Argument Flattening ML Family Workshop Martin Elsman University of Copenhagen Pre-print | ||
