RepLib: Generic programming library with representation types

[ bsd3, generics, library ] [ Propose Tags ]

Generic programming library providing structural polymorphism and other features.


[Skip to Readme]

Downloads

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

Candidates

Versions [RSS] 0.2.1, 0.2.2, 0.3, 0.4.0, 0.5, 0.5.1, 0.5.2, 0.5.2.1, 0.5.3, 0.5.3.1, 0.5.3.2, 0.5.3.3, 0.5.3.4, 0.5.3.5, 0.5.4, 0.5.4.1
Dependencies base (>=3.0 && <4.2), haskell98 (>=1.0 && <1.1), mtl (>=1.1 && <1.2), template-haskell (>=2.2 && <2.4) [details]
License LicenseRef-LGPL
Author Stephanie Weirich
Maintainer Brent Yorgey <byorgey@cis.upenn.edu> Stephanie Weirich <sweirich@cis.upenn.edu>
Category Data
Home page http://www.cis.upenn.edu/~sweirich/RepLib
Uploaded by BrentYorgey at 2009-05-28T20:36:45Z
Distributions
Reverse Dependencies 2 direct, 11 indirect [details]
Downloads 15267 total (41 in the last 30 days)
Rating 2.0 (votes: 1) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs uploaded by user
Build status unknown [no reports yet]

Readme for RepLib-0.2.1

[back to package description]
-----------------------------------------------------------------------------
-- |
-- 
-- Copyright   :  (c) The University of Pennsylvania, 2006
-- License     :  BSD
-- 
-- Maintainer  :  sweirich@cis.upenn.edu, byorgey@cis.upenn.edu
-- Stability   :  experimental
-- Portability :  non-portable
--
-- RepLib 
--    a library of derivable type classes based on representation types
--
--  See http://www.cis.upenn.edu/~sweirich/RepLib for more information.
-----------------------------------------------------------------------------

RepLib has been tested with GHC 6.8.3 and 6.10.3.

This library contains the following modules:

RepLib.R           - Basic type representations
RepLib.R1          - Parameterized type representations
RepLib.Derive      - Template Haskell code to automatically derive 
                     representations of datatypes.
RepLIb.PreludeReps - Reps of Prelude types
RepLib.RepAux      - Helper functions to define type-indexed functions

RepLib.Lib         - Examples of specializable type-indexed functions
RepLib.PreludeLib  - Examples type-indexed functions from prelude

RepLib.SYB.Aliases - SYB: Port of Data.Generics.Aliases
RepLib.SYB.Schemes - SYB: Port of Data.Generics.Schemes

RepLib   - Toplevel module that imports all of the above

To use this library, import RepLib and derive representations of your
datatypes. The "Lib" module contains a number of type-indexed
operations that have been predefined.  To see an example of
automatically deriving the representation of a datatype, see the file
Main.hs.

Currently, the representations of datatypes with record components,
GADTs and nested datatypes cannot be automatically derived.