well-typed / generics-sop

Generic Programming using True Sums of Products
BSD 3-Clause "New" or "Revised" License
157 stars 48 forks source link
generic-programming haskell types

sop-core and generics-sop

Build Status Hackage

generics-sop is 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.

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

This is the development repository for the packages. For releases, look on Hackage.

The module Generics.SOP is the main module of this library and contains more detailed documentation.

Examples of using generics-sop are provided by the following packages:

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