The emgm package

[Tags: bsd3, library]

EMGM is a general-purpose library for datatype-generic programming.

The design is based on the idea of modeling algebraic datatypes as sum-of-product structures. Many datatypes can be modeled this way, and because they all share a common structure, we can write generic functions that work on this structure.

The primary features of the library are:

NOTE: As of version 0.4, this library does not have Template Haskell for generating the representation. We are working on another library for a solution to this problem.

[Skip to ReadMe]


Versions0.1, 0.2, 0.3, 0.3.1, 0.4
Change logNone available
Dependenciesbase (>=3.0 && <5.0) [details]
Copyright(c) 2008 - 2011 Universiteit Utrecht
AuthorSean Leather, José Pedro Magalhães, Alexey Rodriguez, Andres Löh
Home page
Source repositoryhead: git clone git://
UploadedWed Sep 21 15:58:05 UTC 2011 by SeanLeather
Downloads1045 total (9 in last 30 days)
0 []
StatusDocs uploaded by user
Build status unknown [no reports yet]




Maintainers' corner

For package maintainers and hackage trustees

Readme for emgm-0.4

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:

The features of this distribution include:


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.