RepLib: Generic programming library with representation types

[ bsd3, generics, library ] [ Propose Tags ]
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 (>=4.3 && <5), containers (>=0.4 && <0.6), mtl (>=2.0 && <2.3), template-haskell (>=2.4 && <2.15), transformers, type-equality (>=0.1.0.2 && <0.2) [details]
License BSD-3-Clause
Author Stephanie Weirich
Maintainer Stephanie Weirich <sweirich@cis.upenn.edu>
Category Generics
Home page https://github.com/sweirich/replib
Source repo head: git clone https://github.com/sweirich/replib
Uploaded by sweirich at 2018-10-15T09:52:41Z
Distributions
Reverse Dependencies 2 direct, 11 indirect [details]
Downloads 15452 total (25 in the last 30 days)
Rating 2.0 (votes: 1) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
Last success reported on 2018-10-15 [all 1 reports]

Readme for RepLib-0.5.4.1

[back to package description]
-----------------------------------------------------------------------------
-- 
-- Copyright   :  (c) 2006-2015, RepLib team (see LICENSE)
-- License     :  BSD
-- 
-- Maintainer  :  sweirich@cis.upenn.edu
-- Stability   :  experimental
-- Portability :  non-portable
--
-- RepLib 
--    a library of derivable type classes based on representation types
--
-----------------------------------------------------------------------------

This library contains the following modules:

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

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

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

RepLib                      - Top-level module that re-exports 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.  

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