mtl-extras-0.1: Higher order versions of MTL classes

Safe HaskellSafe
LanguageHaskell98

Control.Monad.Writer.Extras

Description

Lifted MonadWriter.

Synopsis

Documentation

class MonadTrans t => MonadWriter1 t where Source #

Lifted MonadWriter.

Minimal complete definition

listen1, pass1

Methods

listen1 :: MonadWriter w m => t m a -> t m (a, w) Source #

Lifted listen.

pass1 :: MonadWriter w m => t m (a, w -> w) -> t m a Source #

Lifted pass.

Instances

MonadWriter1 MaybeT Source # 

Methods

listen1 :: MonadWriter w m => MaybeT m a -> MaybeT m (a, w) Source #

pass1 :: MonadWriter w m => MaybeT m (a, w -> w) -> MaybeT m a Source #

MonadWriter1 (ExceptT e) Source # 

Methods

listen1 :: MonadWriter w m => ExceptT e m a -> ExceptT e m (a, w) Source #

pass1 :: MonadWriter w m => ExceptT e m (a, w -> w) -> ExceptT e m a Source #

MonadWriter1 (StateT s) Source # 

Methods

listen1 :: MonadWriter w m => StateT s m a -> StateT s m (a, w) Source #

pass1 :: MonadWriter w m => StateT s m (a, w -> w) -> StateT s m a Source #

MonadWriter1 (StateT s) Source # 

Methods

listen1 :: MonadWriter w m => StateT s m a -> StateT s m (a, w) Source #

pass1 :: MonadWriter w m => StateT s m (a, w -> w) -> StateT s m a Source #

Monoid w' => MonadWriter1 (WriterT w') Source # 

Methods

listen1 :: MonadWriter w m => WriterT w' m a -> WriterT w' m (a, w) Source #

pass1 :: MonadWriter w m => WriterT w' m (a, w -> w) -> WriterT w' m a Source #

Monoid w' => MonadWriter1 (WriterT w') Source # 

Methods

listen1 :: MonadWriter w m => WriterT w' m a -> WriterT w' m (a, w) Source #

pass1 :: MonadWriter w m => WriterT w' m (a, w -> w) -> WriterT w' m a Source #

MonadWriter1 (IdentityT *) Source # 

Methods

listen1 :: MonadWriter w m => IdentityT * m a -> IdentityT * m (a, w) Source #

pass1 :: MonadWriter w m => IdentityT * m (a, w -> w) -> IdentityT * m a Source #

MonadWriter1 (ReaderT * r) Source # 

Methods

listen1 :: MonadWriter w m => ReaderT * r m a -> ReaderT * r m (a, w) Source #

pass1 :: MonadWriter w m => ReaderT * r m (a, w -> w) -> ReaderT * r m a Source #

Monoid w' => MonadWriter1 (RWST r w' s) Source # 

Methods

listen1 :: MonadWriter w m => RWST r w' s m a -> RWST r w' s m (a, w) Source #

pass1 :: MonadWriter w m => RWST r w' s m (a, w -> w) -> RWST r w' s m a Source #

Monoid w' => MonadWriter1 (RWST r w' s) Source # 

Methods

listen1 :: MonadWriter w m => RWST r w' s m a -> RWST r w' s m (a, w) Source #

pass1 :: MonadWriter w m => RWST r w' s m (a, w -> w) -> RWST r w' s m a Source #