packages feed

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