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