Retrieves a function of the current environment.
Modulererebase-1.21.2Haskell2010
Control.Monad.RWS.Class
- 4 classes
- 6 values
- Packagererebase-1.21.2
- Exports10
- LanguageHaskell2010
- LicenceMIT
- SourceClass.hs
Gets specific component of the state, using a projection function supplied.
Monadic state transformer.
Maps an old state to a new state inside a state monad. The old state is thrown away.
Main> :t modify ((+1) :: Int -> Int)
modify (...) :: (MonadState Int a) => a ()This says that modify (+1) acts over any
Monad that is a member of the MonadState class,
with an Int state.
A variant of modify in which the computation is strict in the new state.
See examples in Control.Monad.Reader.
Note, the partially applied function type (->) r is a simple reader monad.
See the instance declaration below.
Instances29MonadReader, …
MonadReader e m => MonadReader e (CatchT m)Defined in exceptions-0.10.9 · Control.Monad.Catch.PureMonadReader e m => MonadReader e (Free m)Defined in free-5.2 · Control.Monad.FreeMonadReader e m => MonadReader e (Free m)Defined in free-5.2 · Control.Monad.Free.ApMonadReader e m => MonadReader e (F m)Defined in free-5.2 · Control.Monad.Free.ChurchMonadReader e m => MonadReader e (IterT m)Defined in free-5.2 · Control.Monad.Trans.IterMonadReader r m => MonadReader r (MaybeT m)Defined in mtl-2.3.1 · Control.Monad.Reader.Class(Representable f, Rep f ~ a) => MonadReader a (Co f)Defined in adjunctions-4.4.3 · Data.Functor.RepMonad m => MonadReader r (ReaderT r m)Defined in mtl-2.3.1 · Control.Monad.Reader.ClassMonadReader r m => MonadReader r (FT f m)Defined in free-5.2 · Control.Monad.Trans.Free.ChurchMonadReader r m => MonadReader r (ExceptT e m)Defined in mtl-2.3.1 · Control.Monad.Reader.ClassMonadReader r m => MonadReader r (IdentityT m)Defined in mtl-2.3.1 · Control.Monad.Reader.ClassMonadReader r m => MonadReader r (StateT s m)Defined in mtl-2.3.1 · Control.Monad.Reader.ClassMonadReader r m => MonadReader r (StateT s m)Defined in mtl-2.3.1 · Control.Monad.Reader.ClassMonadReader r' m => MonadReader r' (SelectT r m)Defined in mtl-2.3.1 · Control.Monad.Reader.Class(Representable f, Monad m, Rep f ~ e) => MonadReader e (ReaderT f m)Defined in adjunctions-4.4.3 · Control.Monad.Representable.Reader(Representable g, MonadReader e m) => MonadReader e (StateT g m)Defined in adjunctions-4.4.3 · Control.Monad.Representable.State(Applicative f, MonadReader r m) => MonadReader r (FreeT f m)Defined in free-5.2 · Control.Monad.Trans.Free.Ap(Functor f, MonadReader r m) => MonadReader r (FreeT f m)Defined in free-5.2 · Control.Monad.Trans.Free(Monoid w, MonadReader r m) => MonadReader r (AccumT w m)Defined in mtl-2.3.1 · Control.Monad.Reader.Class(Monoid w, MonadReader r m) => MonadReader r (WriterT w m)Defined in mtl-2.3.1 · Control.Monad.Reader.Class(Monoid w, MonadReader r m) => MonadReader r (WriterT w m)Defined in mtl-2.3.1 · Control.Monad.Reader.Class(Monoid w, MonadReader r m) => MonadReader r (WriterT w m)Defined in mtl-2.3.1 · Control.Monad.Reader.ClassMonadReader r ((->) r)Defined in mtl-2.3.1 · Control.Monad.Reader.ClassMonadReader r' m => MonadReader r' (ContT r m)Defined in mtl-2.3.1 · Control.Monad.Reader.Class(Comonad w, MonadReader e m) => MonadReader e (CoT w m)Defined in kan-extensions-5.2.7 · Control.Monad.Co(m ~~ m', MonadReader r m') => MonadReader r (Codensity m)Defined in kan-extensions-5.2.7 · Control.Monad.Codensity(Monad m, Monoid w) => MonadReader r (RWST r w s m)Defined in mtl-2.3.1 · Control.Monad.Reader.Class(Monad m, Monoid w) => MonadReader r (RWST r w s m)Defined in mtl-2.3.1 · Control.Monad.Reader.Class(Monad m, Monoid w) => MonadReader r (RWST r w s m)Defined in mtl-2.3.1 · Control.Monad.Reader.Class
Minimal definition is either both of get and put or just state
Instances26MonadState, …
MonadState s m => MonadState s (CatchT m)Defined in exceptions-0.10.9 · Control.Monad.Catch.PureMonadState s m => MonadState s (Free m)Defined in free-5.2 · Control.Monad.FreeMonadState s m => MonadState s (Free m)Defined in free-5.2 · Control.Monad.Free.ApMonadState s m => MonadState s (F m)Defined in free-5.2 · Control.Monad.Free.ChurchMonadState s m => MonadState s (IterT m)Defined in free-5.2 · Control.Monad.Trans.IterMonadState s m => MonadState s (MaybeT m)Defined in mtl-2.3.1 · Control.Monad.State.ClassMonad m => MonadState s (StateT s m)Defined in mtl-2.3.1 · Control.Monad.State.ClassMonad m => MonadState s (StateT s m)Defined in mtl-2.3.1 · Control.Monad.State.ClassMonadState s m => MonadState s (FT f m)Defined in free-5.2 · Control.Monad.Trans.Free.ChurchMonadState s m => MonadState s (ExceptT e m)Defined in mtl-2.3.1 · Control.Monad.State.ClassMonadState s m => MonadState s (IdentityT m)Defined in mtl-2.3.1 · Control.Monad.State.ClassMonadState s m => MonadState s (ReaderT r m)Defined in mtl-2.3.1 · Control.Monad.State.ClassMonadState s m => MonadState s (SelectT r m)Defined in mtl-2.3.1 · Control.Monad.State.Class(Representable g, Monad m, Rep g ~ s) => MonadState s (StateT g m)Defined in adjunctions-4.4.3 · Control.Monad.Representable.State(Applicative f, MonadState s m) => MonadState s (FreeT f m)Defined in free-5.2 · Control.Monad.Trans.Free.Ap(Functor f, MonadState s m) => MonadState s (FreeT f m)Defined in free-5.2 · Control.Monad.Trans.Free(Monoid w, MonadState s m) => MonadState s (AccumT w m)Defined in mtl-2.3.1 · Control.Monad.State.Class(Monoid w, MonadState s m) => MonadState s (WriterT w m)Defined in mtl-2.3.1 · Control.Monad.State.Class(Monoid w, MonadState s m) => MonadState s (WriterT w m)Defined in mtl-2.3.1 · Control.Monad.State.Class(Monoid w, MonadState s m) => MonadState s (WriterT w m)Defined in mtl-2.3.1 · Control.Monad.State.ClassMonadState s m => MonadState s (ContT r m)Defined in mtl-2.3.1 · Control.Monad.State.Class(Comonad w, MonadState s m) => MonadState s (CoT w m)Defined in kan-extensions-5.2.7 · Control.Monad.Co(m ~~ m', MonadReader r m') => MonadState r (Codensity m)Defined in kan-extensions-5.2.7 · Control.Monad.Codensity(Monad m, Monoid w) => MonadState s (RWST r w s m)Defined in mtl-2.3.1 · Control.Monad.State.Class(Monad m, Monoid w) => MonadState s (RWST r w s m)Defined in mtl-2.3.1 · Control.Monad.State.Class(Monad m, Monoid w) => MonadState s (RWST r w s m)Defined in mtl-2.3.1 · Control.Monad.State.Class
Methods
writer :: (a, w) -> m awriter (a,w)embeds a simple writer action.tell :: w -> m ()tell wis an action that produces the outputw.listen :: m a -> m (a, w)listen mis an action that executes the actionmand adds its output to the value of the computation.pass :: m (a, w -> w) -> m apass mis an action that executes the actionm, which returns a value and a function, and returns the value, applying the function to the output.
Instances25MonadWriter, …
Monoid w => MonadWriter w (Tuple2 w)Defined in mtl-2.3.1 · Control.Monad.Writer.ClassMonadWriter e m => MonadWriter e (Free m)Defined in free-5.2 · Control.Monad.FreeMonadWriter e m => MonadWriter e (Free m)Defined in free-5.2 · Control.Monad.Free.ApMonadWriter w m => MonadWriter w (CatchT m)Defined in exceptions-0.10.9 · Control.Monad.Catch.PureMonadWriter w m => MonadWriter w (F m)Defined in free-5.2 · Control.Monad.Free.ChurchMonadWriter w m => MonadWriter w (IterT m)Defined in free-5.2 · Control.Monad.Trans.IterMonadWriter w m => MonadWriter w (MaybeT m)Defined in mtl-2.3.1 · Control.Monad.Writer.ClassMonadWriter w m => MonadWriter w (ExceptT e m)Defined in mtl-2.3.1 · Control.Monad.Writer.ClassMonadWriter w m => MonadWriter w (IdentityT m)Defined in mtl-2.3.1 · Control.Monad.Writer.ClassMonadWriter w m => MonadWriter w (ReaderT r m)Defined in mtl-2.3.1 · Control.Monad.Writer.ClassMonadWriter w m => MonadWriter w (StateT s m)Defined in mtl-2.3.1 · Control.Monad.Writer.ClassMonadWriter w m => MonadWriter w (StateT s m)Defined in mtl-2.3.1 · Control.Monad.Writer.Class(Representable f, MonadWriter w m) => MonadWriter w (ReaderT f m)Defined in adjunctions-4.4.3 · Control.Monad.Representable.Reader(Representable g, MonadWriter w m) => MonadWriter w (StateT g m)Defined in adjunctions-4.4.3 · Control.Monad.Representable.State(Applicative f, MonadWriter w m) => MonadWriter w (FreeT f m)Defined in free-5.2 · Control.Monad.Trans.Free.Ap(Functor f, MonadWriter w m) => MonadWriter w (FreeT f m)Defined in free-5.2 · Control.Monad.Trans.Free(Functor f, MonadWriter w m) => MonadWriter w (FT f m)Defined in free-5.2 · Control.Monad.Trans.Free.Church(Monoid w, Monad m) => MonadWriter w (WriterT w m)Defined in mtl-2.3.1 · Control.Monad.Writer.Class(Monoid w, Monad m) => MonadWriter w (WriterT w m)Defined in mtl-2.3.1 · Control.Monad.Writer.Class(Monoid w, Monad m) => MonadWriter w (WriterT w m)Defined in mtl-2.3.1 · Control.Monad.Writer.Class(Monoid w', MonadWriter w m) => MonadWriter w (AccumT w' m)Defined in mtl-2.3.1 · Control.Monad.Writer.Class(Comonad w, MonadWriter e m) => MonadWriter e (CoT w m)Defined in kan-extensions-5.2.7 · Control.Monad.Co(Monoid w, Monad m) => MonadWriter w (RWST r w s m)Defined in mtl-2.3.1 · Control.Monad.Writer.Class(Monoid w, Monad m) => MonadWriter w (RWST r w s m)Defined in mtl-2.3.1 · Control.Monad.Writer.Class(Monoid w, Monad m) => MonadWriter w (RWST r w s m)Defined in mtl-2.3.1 · Control.Monad.Writer.Class
class (Monoid w, MonadReader r m, MonadWriter w m, MonadState s m) => MonadRWS r w s (m :: Type -> Type) | m -> r, m -> w, m -> sInstances7MonadRWS, …
MonadRWS r w s m => MonadRWS r w s (CatchT m)Defined in exceptions-0.10.9 · Control.Monad.Catch.PureMonadRWS r w s m => MonadRWS r w s (MaybeT m)Defined in mtl-2.3.1 · Control.Monad.RWS.ClassMonadRWS r w s m => MonadRWS r w s (ExceptT e m)Defined in mtl-2.3.1 · Control.Monad.RWS.ClassMonadRWS r w s m => MonadRWS r w s (IdentityT m)Defined in mtl-2.3.1 · Control.Monad.RWS.Class(Monoid w, Monad m) => MonadRWS r w s (RWST r w s m)Defined in mtl-2.3.1 · Control.Monad.RWS.Class(Monoid w, Monad m) => MonadRWS r w s (RWST r w s m)Defined in mtl-2.3.1 · Control.Monad.RWS.Class(Monoid w, Monad m) => MonadRWS r w s (RWST r w s m)Defined in mtl-2.3.1 · Control.Monad.RWS.Class