Control.Monad.RWS.CPS (original) (raw)
(Monoid w, Monad m) => MonadRWS r w s (RWST r w s m) Source #
Since: 2.3
Instance details
Defined in Control.Monad.RWS.Class
MonadAccum w' m => MonadAccum w' (RWST r w s m) Source #
Since: 2.3
Instance details
Defined in Control.Monad.Accum
(Monoid w, MonadError e m) => MonadError e (RWST r w s m) Source #
Since: 2.3
Instance details
Defined in Control.Monad.Error.Class
(Monad m, Monoid w) => MonadReader r (RWST r w s m) Source #
Since: 2.3
Instance details
Defined in Control.Monad.Reader.Class
MonadSelect w' m => MonadSelect w' (RWST r w s m) Source #
A combination of an 'outer' [ReaderT](Control-Monad-Reader.html#t:ReaderT "Control.Monad.Reader")
, WriterT
and StateT
. In short, you get a value of type r
which can influence what gets picked, but not how anything is ranked, and the 'ranking' function gets access to an s
and aw
, but can modify neither.
Since: 2.3
Instance details
Defined in Control.Monad.Select
(Monad m, Monoid w) => MonadState s (RWST r w s m) Source #
Since: 2.3
Instance details
Defined in Control.Monad.State.Class
(Monoid w, Monad m) => MonadWriter w (RWST r w s m) Source #
Since: 2.3
Instance details
Defined in Control.Monad.Writer.Class
MonadTrans (RWST r w s)
Instance details
Defined in Control.Monad.Trans.RWS.CPS
MonadFail m => MonadFail (RWST r w s m)
Instance details
Defined in Control.Monad.Trans.RWS.CPS
MonadFix m => MonadFix (RWST r w s m)
Instance details
Defined in Control.Monad.Trans.RWS.CPS
Methods
mfix :: (a -> RWST r w s m a) -> RWST r w s m a #
MonadIO m => MonadIO (RWST r w s m)
Instance details
Defined in Control.Monad.Trans.RWS.CPS
Methods
liftIO :: IO a -> RWST r w s m a #
(Functor m, MonadPlus m) => Alternative (RWST r w s m)
Instance details
Defined in Control.Monad.Trans.RWS.CPS
(Functor m, Monad m) => Applicative (RWST r w s m)
Instance details
Defined in Control.Monad.Trans.RWS.CPS
Methods
(<*>) :: RWST r w s m (a -> b) -> RWST r w s m a -> RWST r w s m b #
liftA2 :: (a -> b -> c) -> RWST r w s m a -> RWST r w s m b -> RWST r w s m c #
(*>) :: RWST r w s m a -> RWST r w s m b -> RWST r w s m b #
(<*) :: RWST r w s m a -> RWST r w s m b -> RWST r w s m a #
Functor m => Functor (RWST r w s m)
Instance details
Defined in Control.Monad.Trans.RWS.CPS
Methods
fmap :: (a -> b) -> RWST r w s m a -> RWST r w s m b #
(<$) :: a -> RWST r w s m b -> RWST r w s m a #
Monad m => Monad (RWST r w s m)
Instance details
Defined in Control.Monad.Trans.RWS.CPS
(Functor m, MonadPlus m) => MonadPlus (RWST r w s m)
Instance details
Defined in Control.Monad.Trans.RWS.CPS
(Monoid w, MonadCont m) => MonadCont (RWST r w s m) Source #
Since: 2.3
Instance details
Defined in Control.Monad.Cont.Class