Description
Wrap together data and it's constraints.
Description
This package, together with its dependency polydata-core, allows one to pass data, particularly functions, together with a constraint which describes how polymorphic that data is. This constraint can then be used in a generic way to produce quite polymorphic functions, for example, a "map" function that works on a pair of two different types.
See Data.Poly for a basic tutorial.