| Copyright | (C) 2015 The University of Kansas |
|---|---|
| License | BSD-style (see the file LICENSE) |
| Maintainer | Andy Gill |
| Stability | Experimental |
| Safe Haskell | Safe |
| Language | Haskell2010 |
Control.Transformation
Description
A type class for transformations.
- class Transformation f g t | t -> f g where
- (#) :: t -> f a -> g a
Documentation
class Transformation f g t | t -> f g where Source
A (natural) transformation is inside t, and contains f and g
(typically Functors).
The order of arguments allows the use of GeneralizedNewtypeDeriving to wrap
a Natural, but maintain the Transformation constraint. Thus, '#' can be used
on abstract data types.
Instances
| Transformation k f g ((:~>) k f g) |