-------------------------------------------------------------------------------- -- | -- Module : Data.Comp.ExpFunctor -- Copyright : 2008 Edward Kmett -- License : BSD -- -- Maintainer : Tom Hvitved <hvitved@diku.dk> -- Stability : unknown -- Portability : unknown -- -- Exponential functors, see <http://comonad.com/reader/2008/rotten-bananas/>. -------------------------------------------------------------------------------- module Data.Comp.ExpFunctor ( ExpFunctor(..) ) where {-| Exponential functors are functors that may be both covariant (as ordinary functors) and contravariant. -} class ExpFunctor f where xmap :: (a -> b) -> (b -> a) -> f a -> f b