generics-sop

Generic Programming using True Sums of Products

Version on this page:0.1.0.4
LTS Haskell 17.10:0.5.1.1
Stackage Nightly 2021-05-08:0.5.1.1
Latest on Hackage:0.5.1.1

See all snapshots generics-sop appears in

BSD-3-Clause licensed by Edsko de Vries, Andres Löh
Maintained by edsko@well-typed.com
This version can be pinned in stack with:generics-sop-0.1.0.4@sha256:d1c36b049dba0c7029f43aec28b15bff2fafd5af0a8c3270600b20deb7c916e3,3567

Module documentation for 0.1.0.4

  • 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: