-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | ContStuff instances for transformers and vice-versa -- -- This package provides contstuff transformer class instances for the -- monad transformers from the transformers package as well as -- transformers class instances for the monad transformers from -- contstuff. This makes using both transformer libraries in a single -- project much more convenient as you get along with a single set of -- lifting functions. @package contstuff-transformers @version 0.1.0 -- | This package provides contstuff transformer class instances for the -- monad transformers from the transformers package as well as -- transformers class instances for the monad transformers from -- contstuff. This makes using both transformer libraries in a single -- project much more convenient as you get along with a single set of -- lifting functions. module Control.ContStuff.Transformers -- | Monads in which IO computations may be embedded. Any monad -- built by applying a sequence of monad transformers to the IO -- monad will be an instance of this class. -- -- Instances should satisfy the following laws, which state that -- liftIO is a transformer of monads: -- --
class Monad m => MonadIO m :: (* -> *) liftIO :: MonadIO m => IO a -> m a -- | The class of monad transformers. Instances should satisfy the -- following laws, which state that lift is a transformer of -- monads: -- -- class MonadTrans t :: ((* -> *) -> * -> *) -- | Interface to Control.Monad.Trans.lift. liftT :: (Monad m, MonadTrans t) => m a -> t m a instance (LiftBase m, Monad m, Monoid w) => LiftBase (WriterT w m) instance (LiftBase m, Monad m, Monoid w) => LiftBase (WriterT w m) instance (LiftBase m, Monad m) => LiftBase (StateT s m) instance (LiftBase m, Monad m) => LiftBase (StateT s m) instance (LiftBase m, Monad m) => LiftBase (ReaderT r m) instance (LiftBase m, Monad m, Monoid w) => LiftBase (RWST r w s m) instance (LiftBase m, Monad m, Monoid w) => LiftBase (RWST r w s m) instance (LiftBase m, Monad m) => LiftBase (ListT m) instance (Error e, LiftBase m, Monad m) => LiftBase (ErrorT e m) instance (LiftBase m, Monad m) => LiftBase (ContT r m) instance Monoid w => Transformer (WriterT w) instance Monoid w => Transformer (WriterT w) instance Transformer (StateT s) instance Transformer (StateT s) instance Transformer (ReaderT r) instance Monoid w => Transformer (RWST r w s) instance Monoid w => Transformer (RWST r w s) instance Transformer ListT instance Error e => Transformer (ErrorT e) instance Transformer (ContT r) instance MonadIO m => MonadIO (StateT r s m) instance MonadIO m => MonadIO (MaybeT r m) instance MonadIO m => MonadIO (EitherT r e m) instance MonadIO m => MonadIO (ContT r m) instance MonadIO m => MonadIO (ChoiceT r i m) instance MonadTrans (StateT r s) instance MonadTrans (MaybeT r) instance MonadTrans (EitherT r e) instance MonadTrans (ContT r) instance MonadTrans (ChoiceT r i)