Generic Programming using True Sums of Products

Version on this page:
LTS Haskell 22.29:
Stackage Nightly 2024-07-19:
Latest on Hackage:

See all snapshots generics-sop appears in

BSD-3-Clause licensed by Edsko de Vries, Andres Löh
Maintained by [email protected]
This version can be pinned in stack with:generics-sop-,3567

Module documentation for

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

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:

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