generics-sop: Generic Programming using True Sums of Products

[ bsd3, generics, library ] [ Propose Tags ]

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:

Versions,,,,, 0.1.1,,,,,,,,,,,
Change log
Dependencies base (>=4.7 && <5), deepseq (>=1.3 && <1.5), ghc-prim (>=0.3 && <0.6), template-haskell (>=2.8 && <2.14), transformers (>=0.3 && <0.6), transformers-compat (>=0.3 && <0.7) [details]
License BSD-3-Clause
Author Edsko de Vries <>, Andres Löh <>
Revised Revision 2 made by phadej at Wed Apr 11 08:07:51 UTC 2018
Category Generics
Source repo head: git clone
Uploaded by AndresLoeh at Mon Jan 8 16:47:43 UTC 2018
Distributions Arch:, Debian:, Fedora:, LTSHaskell:, NixOS:, Stackage:
Downloads 14820 total (143 in the last 30 days)
Rating 2.75 (votes: 7) [estimated by rule of succession]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
Last success reported on 2018-01-08 [all 1 reports]
Hackage Matrix CI




Note: This package has metadata revisions in the cabal description newer than included in the tarball. To unpack the package including the revisions, use 'cabal get'.

Maintainer's Corner

For package maintainers and hackage trustees