This package gives a generic implementation of higher-order rewriting. The main idea is to use techniques from embedded domain-specific languages to offer an interface which is both safe and syntactically appealing. Some examples are found in the [examples directory](examples). For more information, see "Lightweight Higher-Order Rewriting in Haskell": * [Paper](https://emilaxelsson.github.io/documents/axelsson2015lightweight.pdf) * [Slides](https://emilaxelsson.github.io/documents/axelsson2015lightweight_slides.pdf)