Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/spl/emgm

Extensible and Modular Generics for the Masses
https://github.com/spl/emgm

Last synced: 1 day ago
JSON representation

Extensible and Modular Generics for the Masses

Awesome Lists containing this project

README

        

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