Combinators for Strategic Programming.
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. https://dx.doi.org/10.1017/S0956796814000185