The Kansas University Rewrite Engine (KURE) is a domain-specific language for strategic rewriting. KURE was inspired by Stratego and StrategyLib, and has similarities with Scrap Your Boilerplate and Uniplate.

The basic transformation functionality can be found in Language.KURE.Transform, and the traversal functionality can be found in Language.KURE.Walker. Several basic examples of using KURE are provided in the source-code bundle. For larger examples, see the HERMIT or HTML-KURE packages.

You can read about KURE in the following article:

The Kansas University Rewrite Engine: A Haskell-Embedded Strategic Programming Language with Custom Closed Universes. Neil Sculthorpe, Nicolas Frisby and Andy Gill. Journal of Functional Programming. Cambridge University Press, 24(4), pages 434-473, 2014. http://dx.doi.org/10.1017/S0956796814000185