Lightweight Higher-Order Rewriting in Haskell
Conference contribution, 2015

We present a generic Haskell library for expressing rewrite rules with a safe treatment of variables and binders. Both sides of the rules are written as typed EDSL expressions, which leads to syntactically appealing rules and hides the underlying term representation. Matching is defined as an instance of Miller's pattern unification, which makes for efficient execution when rules are applied in a bottom-up fashion. The restrictions of pattern unification are captured in the types of the library, and we show by example that the library is capable of expressing useful simplifications that might be used in a compiler.


higher-order rewriting

pattern unification


Emil Axelsson

Chalmers, Computer Science and Engineering (Chalmers), Software Technology (Chalmers)

Andrea Vezzosi

Chalmers, Computer Science and Engineering (Chalmers), Computing Science (Chalmers)

Trends in Functional Programming

Areas of Advance

Information and Communication Technology

Subject Categories

Software Engineering

Computer Science

More information