Extensible and Modular Generics for the Masses
Extensible and Modular Generics for the Masses is a library for generic programming in Haskell.
The primary features of EMGM include:
- Datatype-generic programming using sum-of-product views
- Large collection of ready-to-use generic functions
- Included support for standard datatypes: lists, Maybe, tuples
- Easy to add support for new datatypes
- Type classes make writing new functions straightforward in a structurally inductive style
- Generic functions are extensible with ad-hoc cases for arbitrary datatypes
- Good performance of generic functions
The features of this distribution include:
- The API is thoroughly documented with Haddock
- Fully tested with QuickCheck and HUnit
- Program coverage ensures that all useful code has been touched by tests
You can find examples of using EMGM in the
examples directory of the source
Bugs & Support
To report bugs, use the Google Code project page for EMGM.
For general concerns and questions, use the Generics mailing list.