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

# generics-sop-0.5.1.4: 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.

Since version 0.4.0.0, this package is now based on `sop-core`. The core package contains all the functionality of n-ary sums and products, whereas this package provides the datatype-generic programming support on top.

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-sop-0.5.1.4

- Generics
  Submodules
  - Generics.SOP
    Submodules
    - 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
    - Type
      Submodules
      - Generics.SOP.Type.Metadata
    - Generics.SOP.Universe