This package provides generic 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. The multirec library  can deal with mutually recursive 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/Regular.
- Change template-haskell dependency to allow building with ghc-7.4.1.
- Change template-haskell dependency to allow building with ghc-7.2.1.
- Add missing S case to eq.
- Fix a bug in the Template Haskell code (thanks to firstname.lastname@example.org)
- Remove gdseq (moved to the regular-extras package due to the introduction
of the deepseq dependency).
- Export Assoc(..) from Generics.Regular.Functions.Crush (thanks to Martijn
- Replaced the flag on the cabal package by an explicit test on the ghc
version. This makes it easier to build on ghc-6.12.
- Update to build with ghc-6.12: require template-haskell-2.4.*, adapt
Generics.Regular.TH accordingly and use CPP to maintain compatibility with
- Do not export generic equality by default to avoid clashes with Prelude
- Turn I and K into newtypes
- Separated generic functions per modules
- Added generic unfold
- Added record selectors
- Improved generic show, added showsPrec
- Added generic read
- Added generic deep seq
- Added constructor names
version 0.1: initial release