Permalink
Find file
Fetching contributors…
Cannot retrieve contributors at this time
102 lines (90 sloc) 4.08 KB
name: emgm
version: 0.4
synopsis: Extensible and Modular Generics for the Masses
homepage: http://www.cs.uu.nl/wiki/GenericProgramming/EMGM
description:
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:
.
* /A foundation for building generic functions./ EMGM includes a collection of
datatypes (e.g. sum, product, and unit) and type classes (e.g. @Generic@ and
@Rep@). Everything you need for defining generic functions and supporting
datatypes can be found here.
.
* /Many useful generic functions./ These provide a wide range of
functionality. For example, there is @crush@, a generalization of the
foldl/foldr functions, that allows you to flexibly extract the elements of a
polymorphic container. Now, you can do many of the operations with your
container that were previously only available for lists.
.
* /Support for standard datatypes./ EMGM supports standard types: primitives
(e.g. @Int@ and @Float@), @Bool@, lists, tuples, @Maybe@, etc.
category: Generics
copyright: (c) 2008, 2009 Universiteit Utrecht
license: BSD3
license-file: LICENSE
author: Sean Leather,
José Pedro Magalhães,
Alexey Rodriguez,
Andres Löh
maintainer: generics@haskell.org
stability: experimental
extra-source-files: README,
examples/Ex00StartHere.hs,
examples/Ex01UsingFunctions.hs,
examples/Ex02AddingDatatypeSupport.hs,
examples/Ex03DefiningFunctions.hs,
tests/Base.hs,
tests/Bimap.hs,
tests/Collect.hs,
tests/Compare.hs,
tests/Crush.hs,
tests/Enum.hs,
tests/Everywhere.hs,
tests/Main.hs,
tests/Map.hs,
tests/ReadShow.hs,
tests/TTree.hs,
tests/UnzipWith.hs,
tests/ZipWith.hs,
util/hpc.lhs
extra-tmp-files: .hpc
build-type: Custom
cabal-version: >= 1.2.1
tested-with: GHC == 6.8.3, GHC == 6.10.1
--------------------------------------------------------------------------------
Library
hs-source-dirs: src
exposed-modules: Generics.EMGM
-- Foundation
Generics.EMGM.Representation
Generics.EMGM.Base
-- Generic functions
Generics.EMGM.Functions.Collect
Generics.EMGM.Functions.Compare
Generics.EMGM.Functions.Crush
Generics.EMGM.Functions.Enum
Generics.EMGM.Functions.Everywhere
Generics.EMGM.Functions.Map
Generics.EMGM.Functions.Meta
Generics.EMGM.Functions.Read
Generics.EMGM.Functions.Show
Generics.EMGM.Functions.Transpose
Generics.EMGM.Functions.UnzipWith
Generics.EMGM.Functions.ZipWith
-- Supported datatypes
Generics.EMGM.Data.Bool
Generics.EMGM.Data.Either
Generics.EMGM.Data.List
Generics.EMGM.Data.Maybe
Generics.EMGM.Data.Ratio
Generics.EMGM.Data.Tuple
build-depends: base >= 3.0 && < 5.0
ghc-options: -Wall
ghc-options: -O2