Extensible and Modular Generics for the Masses
Haskell
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
examples
src/Generics
tests
util
CREDITS.md
LICENSE
README.md
Setup.lhs
emgm.cabal

README.md

Extensible and Modular Generics for the Masses

Extensible and Modular Generics for the Masses is a library for generic programming in Haskell.

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.

Bugs & Support

To report bugs, use the Google Code project page for EMGM.

For general concerns and questions, use the Generics mailing list.