Portability | unknown |
---|---|

Stability | unknown |

Maintainer | Tom Hvitved <hvitved@diku.dk> |

Exponential functors, see http://comonad.com/reader/2008/rotten-bananas/.

- class ExpFunctor f where
- xmap :: (a -> b) -> (b -> a) -> f a -> f b

# Documentation

class ExpFunctor f whereSource

Exponential functors are functors that may be both covariant (as ordinary functors) and contravariant.

ExpFunctor f => ExpFunctor (:&: f a) | |

(ExpFunctor f, ExpFunctor g) => ExpFunctor (:+: f g) |