ghc-generics-sop
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: * '<https://hackage.haskell.org/package/basic-sop basic-sop>' basic examples, * '<https://hackage.haskell.org/package/pretty-sop pretty-sop>' generic pretty printing, * '<https://hackage.haskell.org/package/lens-sop lens-sop>' generically computed lenses, * '<https://hackage.haskell.org/package/json-sop 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.<http://www.andres-loeh.de/TrueSumsOfProducts True Sums of Products>. Workshop on Generic Programming (WGP) 2014. .
BSD-3-Clause