rules allow the run-time addition of rewrite rules. This can be used to model context-sensitive rewriting and has a host of applications in program transformation ...
Playing by the Rules: Rewriting as an Optimization Technique in GHC by SimonPeytonJones, AndrewTolmach and TonyHoare, In Proceedings of the 2001 Haskell Workshop ...