A transformation-based optimiser for Haskell

Science of Computer Programming | , Vol 32(1)

Many compilers do some of their work by means of correctness-preserving, and hopefully performance-improving, program transformations. The Glasgow Haskell Compiler (GHC) takes this idea of “compilation by transformation” as its war-cry, trying to express as much as possible of the compilation process in the form of program transformations.

This paper reports on our practical experience of the transformational approach to compilation, in the context of a substantial compiler.

This is a journal version of “Compilation by program transformation: a report from the trenches” (ESOP’96)