Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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
- Host: GitHub
- URL: https://github.com/spl/emgm
- Owner: spl
- License: bsd-3-clause
- Created: 2010-11-01T15:58:49.000Z (about 14 years ago)
- Default Branch: master
- Last Pushed: 2011-09-21T15:56:18.000Z (over 13 years ago)
- Last Synced: 2024-05-09T14:56:37.737Z (8 months ago)
- Language: Haskell
- Homepage:
- Size: 251 KB
- Stars: 6
- Watchers: 4
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
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 functionsThe 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 testsExamples
--------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