Stratego -- Strategies for Program Transformation
HSX: A Framework for Haskell Transformation

Note that this was the second Stratego project and probably not up-to-date with modern Stratego programming practices

HSX is the byproduct of the work on the implementation of the WarmFusionTransformation in Stratego. Apart from the warm fusion transformation itself, it contains a whole range of standard utilities (such as simplification, variable renaming, substitution, ...) that can be used to transform Haskell programs.


The current version only supports a subset of the complete language. The syntax definition is complete, but does not support the offside rule. The framework contains a very simple typechecker that is used to distribute types over expressions; it assumes type declarations for all functions.


The framework is implemented on top of the XT bundle of transformation tools and requires XT version 0.3 with Stratego version 0.4.17.