|  | 
| | Control.Functor | | Portability | portable |  | Stability | experimental |  | Maintainer | dan.doel@gmail.com | 
 | 
 | 
|  | 
|  | 
|  | 
| Description | 
| Functor composition, standard functors, and more. | 
|  | 
| Synopsis | 
|  | 
|  | 
|  | 
|  | 
| Unary functors | 
|  | 
| Composition | 
|  | 
|  | 
| | Functor composition.
 (Note: Some compilers will let you write f `O` g rather than O f g;
we'll be doing so here for readability.)
 Functor composition is associative, so f `O` (g `O` h) and (f `O` g) `O` h
are equivalent. The functions lComp and rComp convert between the two.
(Operationally, they are equivalent to id. Their only purpose is to affect
the type system.)
 |  | Constructors |  |  |  |  Instances |  |  | 
 | 
|  | 
|  | 
|  | 
|  | 
|  | 
| Basic Instances | 
|  | 
| Unit | 
|  | 
|  | 
| | The unit functor.
 (Note: this is not the same as (). In fact, Unit is the
fixpoint of ().)
 |  | Constructors |  |  |  |  Instances |  |  | 
 | 
|  | 
| Const | 
|  | 
|  | 
| | Constant functors. Essentially the same as Unit, except that they also
carry a value. |  | Constructors |  |  |  |  Instances |  |  | 
 | 
|  | 
| Binary functors | 
|  | 
|  | 
| | A type constructor which takes two arguments and an associated map function.
 Informally, Bifunctor f implies Functor (f a) with fmap = bimap id.
 |  |  |  | Methods |  | | | bimap ::  (a -> c) -> (b -> d) -> f a b -> f c d | Source | 
 | 
 |  |  |  |  Instances |  |  | 
 | 
|  | 
| Trinary functors | 
|  | 
| | class  Trifunctor f  where | Source | 
 | 
| | A type constructor which takes three arguments and an associated map function.
 Informally, Trifunctor f implies Bifunctor (f a) with bimap = trimap id.
 |  |  |  | Methods |  | | | trimap ::  (a -> a') -> (b -> b') -> (c -> c') -> f a b c -> f a' b' c' | Source | 
 | 
 |  |  |  |  Instances |  |  | 
 | 
|  | 
| Produced by Haddock version 2.3.0 |