generics-sop-0.2.5.0: Generic Programming using True Sums of Products

# generics-sop-0.2.5.0: Generic Programming using True Sums of Products

A library to support the definition of generic functions. Datatypes are viewed in a uniform, structured way: the choice between constructors is represented using an n-ary sum, and the arguments of each constructor are represented using an n-ary product.

The module Generics.SOP is the main module of this library and contains more detailed documentation.

Examples of using this library are provided by the following packages:

- `basic-sop` basic examples,
- `pretty-sop` generic pretty printing,
- `lens-sop` generically computed lenses,
- `json-sop` generic JSON conversions.

A detailed description of the ideas behind this library is provided by the paper:

- Edsko de Vries and Andres Löh. True Sums of Products. Workshop on Generic Programming (WGP) 2014.

Modules

- Generics
  - Generics.SOP
    - Generics.SOP.BasicFunctors
    - Generics.SOP.Classes
    - Generics.SOP.Constraint
    - Generics.SOP.Dict
    - Generics.SOP.GGP
    - Generics.SOP.Instances
    - Generics.SOP.Metadata
    - Generics.SOP.NP
    - Generics.SOP.NS
    - Generics.SOP.Sing
    - Generics.SOP.TH
    - Generics.SOP.Universe