The RepLib package

This is a package candidate release! Here you can preview how this package release will appear once published to the main package index (which can be accomplished via the 'maintain' link below). Please note that once a package has been published to the main package index it cannot be undone! Please consult the package uploading documentation for more information.

[maintain]

Warnings:

Generic programming library providing structural polymorphism and other features.


[Skip to ReadMe]

Properties

Versions0.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
Change logNone available
Dependenciesbase (>=4.3 && <5), containers (>=0.4 && <0.6), mtl (>=2.0 && <2.3), template-haskell (>=2.4 && <2.12), transformers, type-equality (>=0.1.0.2 && <0.2) [details]
LicenseBSD3
AuthorStephanie Weirich
MaintainerStephanie Weirich <sweirich@cis.upenn.edu>
CategoryGenerics
Home pagehttps://github.com/sweirich/replib
Source repositoryhead: git clone https://github.com/sweirich/replib
UploadedFri Aug 19 15:49:36 UTC 2016 by sweirich

Modules

[Index]

Downloads

Maintainers' corner

For package maintainers and hackage trustees


Readme for RepLib-0.5.4

[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.