ffunctor-1.1.100: FFunctor typeclass

Data.FFunctor

Description

Functor of Functors

class FFunctor (f :: (* -> *) -> *) where Source #

Methods

ffmap :: (Functor m, Functor n) => (forall a. m a -> n a) -> f m -> f n Source #

luftIO :: FFunctor f => MonadIO m => f IO -> f m Source #

Lifts an IO impl of a record of functions into a more general MonadIO impl

luft :: FFunctor f => Monad m => MonadTrans t => Functor (t m) => f m -> f (t m) Source #

Lifts a record of functions (that has an FFunctor) into a monad transformer.

e.g. `luft logger` lifts a `Logger m` into a `Logger (ReaderT m Foo)`