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