Normalizing the Core Representation in Helium Compacting the representation to improve performance

Abstract

This research started as an attempt to implement a heap recycling optimization in the Helium compiler. In the process, we identified various obstacles, which turned out to be bigger than we expected. While the end goal of this research was not achieved, we have brought formerly uncharted territory into view. Based upon this knowledge, we present a solid base upon which future investigation can continue in order to reach the goal of a heap recycling optimization in Helium. We focussed on improving the core representation. Therefore we measured and report the code generation improvements that we obtained with this work.

Keywords

Helium, Compiler, Haskell, Functional, Normalization, Simplification, Core Representation, Benchmarks,

Citation