A. Gill, “A Haskell hosted DSL for writing transformation systems,” in Proceedings of the IFIP TC 2 Working Conference on Domain-Specific Languages, ser. DSL ’09. Springer-Verlag, July 2009, pp. 285–309.



KURE is a Haskell hosted Domain Specific Language (DSL) for writing transformation systems based on rewrite strategies. When writing transformation systems, a significant amount of engineering effort goes into setting up plumbing to make sure that specific rewrite rules can fire. Systems like Stratego and Strafunski provide most of this plumbing as infrastructure, allowing the DSL user to focus on the rewrites rules. KURE is a strongly typed strategy control language in the tradition of Stratego and Strafunski. It is intended for writing reasonably efficient rewrite systems, makes use of type families to provide a delimited generic mechanism for tree rewriting, and provides support for efficient identity rewrite detection.


  author = {Gill, Andy},
  title = {A {H}askell Hosted {DSL} for Writing Transformation Systems},
  booktitle = {Proceedings of the IFIP TC 2 Working Conference on Domain-Specific Languages},
  series = {DSL '09},
  year = {2009},
  month = {July},
  isbn = {978-3-642-03033-8},
  location = {Oxford, UK},
  pages = {285--309},
  numpages = {25},
  doi = {10.1007/978-3-642-03034-5_14},
  acmid = {1575968},
  publisher = {Springer-Verlag},