An Optimizer In Stratego For The Helium Core Language

Stc
Date: 2006-08-24

Time: 11:45

Room: BBL room 509

Speaker: Jory van Zessen

Title: An Optimizer in Stratego for the Helium Core Language

Abstract

Functional programs can be optimized by performing small transformations on the expression tree. Such optimizing transformations are performed by the Glasgow Haskell Compiler. These transformations can be defined as transformation rules, and applied using strategies that define the order of the transformations. Writing these transformations using dynamic rewrite rules is the main goal of this thesis. The transformations are to be performed on the Helium Core language. The optimizer should be called directly by the Helium compiler. The optimizer described in this thesis implements part of the simplifier used in GHC. The implementation language is Stratego, a language in which transformation rules and strategies for the application of these rules can be separated. The optimizer currently optimizes code produced by the Helium compiler, but it could work with any front-end producing Helium Core expressions.