generics-sop: Generic Programming using True Sums of Products

This is a package candidate release! Here you can preview how this package release will appear once published to the main package index (which can be accomplished via the 'maintain' link below). Please note that once a package has been published to the main package index it cannot be undone! Please consult the package uploading documentation for more information.


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.

Since version, this package is now based on sop-core. The core package contains all the functionality of n-ary sums and products, whereas this package provides the datatype-generic programming support on top.

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:


Versions0.1.0.0,,,,, 0.1.1,,,,,,,,,,,,,,,
Dependenciesbase (>=4.9 && <5), ghc-prim (>=0.3 && <0.6), sop-core (==0.5.0.*), template-haskell (>=2.8 && <2.15) [details]
AuthorEdsko de Vries <>, Andres Löh <>
Source repositoryhead: git clone
UploadedThu May 9 19:49:30 UTC 2019 by AndresLoeh




Maintainers' corner

For package maintainers and hackage trustees