Extensible and Modular Generics for the Masses http://www.cs.uu.nl/wiki/GenericProgramming/EMGM

Latest on Hackage:0.4

This package is not currently in any snapshots. If you're interested in using it, we recommend adding it to Stackage Nightly. Doing so will make builds more reliable, and allow stackage.org to host generated Haddocks.

BSD3 licensed by Sean Leather, José Pedro Magalhães, Alexey Rodriguez, Andres Löh
Maintained by generics@haskell.org

Extensible and Modular Generics for the Masses

Extensible and Modular Generics for the Masses (EMGM) 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 distribution.

Bugs & Support

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

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

Depends on 1 package:
Used by 1 package:
comments powered byDisqus