Generic Programming using True Sums of Products
|Version on this page:||0.1.1.2|
|LTS Haskell 20.23:||0.5.1.3|
|Stackage Nightly 2023-05-30:||0.5.1.3|
|Latest on Hackage:||0.5.1.3|
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.
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:
pretty-sopgeneric pretty printing,
lens-sopgenerically computed lenses,
json-sopgeneric 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.