Generic rewriting library for regular datatypes.

This package provides rewriting functionality for regular datatypes. Regular datatypes are recursive datatypes such as lists, binary trees, etc. This library cannot be used with mutually recursive datatypes or with nested datatypes.

This library has been described in the paper:

  • A Lightweight Approach to Datatype-Generic Rewriting. Thomas van Noort, Alexey Rodriguez, Stefan Holdermans, Johan Jeuring, Bastiaan Heeren. ACM SIGPLAN Workshop on Generic Programming 2008.

More information about this library can be found at http://www.cs.uu.nl/wiki/GenericProgramming/Rewriting.