Control.Monad.Writer.Lazy (original) (raw)
(MonadAccum w' m, Monoid w) => MonadAccum w' (WriterT w m) Source #
Since: 2.3
Instance details
Defined in Control.Monad.Accum
(Monoid w, MonadError e m) => MonadError e (WriterT w m) Source #
Instance details
Defined in Control.Monad.Error.Class
(Monoid w, MonadReader r m) => MonadReader r (WriterT w m) Source #
Instance details
Defined in Control.Monad.Reader.Class
(MonadSelect w' m, Monoid w) => MonadSelect w' (WriterT w m) Source #
'Readerizes' the writer: the 'ranking' function can see the value that's been accumulated (of type w
), but can't add anything to the log. Effectively, can be thought of as 'extending' the 'ranking' by all values of w
, but which w
gets given to any rank calls is predetermined by the 'outer writer' (and cannot change).
Since: 2.3
Instance details
Defined in Control.Monad.Select
(Monoid w, MonadState s m) => MonadState s (WriterT w m) Source #
Instance details
Defined in Control.Monad.State.Class
(Monoid w, Monad m) => MonadWriter w (WriterT w m) Source #
Instance details
Defined in Control.Monad.Writer.Class
Monoid w => MonadTrans (WriterT w)
Instance details
Defined in Control.Monad.Trans.Writer.Lazy
(Monoid w, MonadFail m) => MonadFail (WriterT w m)
Instance details
Defined in Control.Monad.Trans.Writer.Lazy
(Monoid w, MonadFix m) => MonadFix (WriterT w m)
Instance details
Defined in Control.Monad.Trans.Writer.Lazy
(Monoid w, MonadIO m) => MonadIO (WriterT w m)
Instance details
Defined in Control.Monad.Trans.Writer.Lazy
(Monoid w, MonadZip m) => MonadZip (WriterT w m)
Instance details
Defined in Control.Monad.Trans.Writer.Lazy
Foldable f => Foldable (WriterT w f)
Instance details
Defined in Control.Monad.Trans.Writer.Lazy
(Eq w, Eq1 m) => Eq1 (WriterT w m)
Instance details
Defined in Control.Monad.Trans.Writer.Lazy
(Ord w, Ord1 m) => Ord1 (WriterT w m)
Instance details
Defined in Control.Monad.Trans.Writer.Lazy
(Read w, Read1 m) => Read1 (WriterT w m)
Instance details
Defined in Control.Monad.Trans.Writer.Lazy
(Show w, Show1 m) => Show1 (WriterT w m)
Instance details
Defined in Control.Monad.Trans.Writer.Lazy
Contravariant m => Contravariant (WriterT w m)
Instance details
Defined in Control.Monad.Trans.Writer.Lazy
Traversable f => Traversable (WriterT w f)
Instance details
Defined in Control.Monad.Trans.Writer.Lazy
(Monoid w, Alternative m) => Alternative (WriterT w m)
Instance details
Defined in Control.Monad.Trans.Writer.Lazy
(Monoid w, Applicative m) => Applicative (WriterT w m)
Instance details
Defined in Control.Monad.Trans.Writer.Lazy
Functor m => Functor (WriterT w m)
Instance details
Defined in Control.Monad.Trans.Writer.Lazy
(Monoid w, Monad m) => Monad (WriterT w m)
Instance details
Defined in Control.Monad.Trans.Writer.Lazy
(Monoid w, MonadPlus m) => MonadPlus (WriterT w m)
Instance details
Defined in Control.Monad.Trans.Writer.Lazy
(Monoid w, MonadCont m) => MonadCont (WriterT w m) Source #
Instance details
Defined in Control.Monad.Cont.Class
(Read w, Read1 m, Read a) => Read (WriterT w m a)
Instance details
Defined in Control.Monad.Trans.Writer.Lazy
(Show w, Show1 m, Show a) => Show (WriterT w m a)
Instance details
Defined in Control.Monad.Trans.Writer.Lazy
(Eq w, Eq1 m, Eq a) => Eq (WriterT w m a)
Instance details
Defined in Control.Monad.Trans.Writer.Lazy
(Ord w, Ord1 m, Ord a) => Ord (WriterT w m a)
Instance details
Defined in Control.Monad.Trans.Writer.Lazy