emgm-0.4: README.md
Extensible and Modular Generics for the Masses ============================================== [Extensible and Modular Generics for the Masses] (EMGM) is a library for generic programming in Haskell. [Extensible and Modular Generics for the Masses]: http://www.cs.uu.nl/wiki/GenericProgramming/EMGM Features -------- 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 Examples -------- You can find examples of using EMGM in the [`examples` directory] of the source distribution. [`examples` directory]: https://github.com/spl/emgm/tree/master/examples Bugs & Support -------------- To report bugs, use the Google Code [project page for EMGM]. For general concerns and questions, use the [Generics mailing list]. [project page for EMGM]: http://code.google.com/p/emgm/ [Generics mailing list]: http://www.haskell.org/mailman/listinfo/generics