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

pure :: a -> RWST r w s m a #

(<*>) :: 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