mini-0.1.0.0: Minimal essentials
Safe HaskellSafe-Inferred
LanguageHaskell2010

Mini.Transformers.WriterT

Description

Extension of a monad with a write-only environment

Synopsis

Type

data WriterT w m a Source #

A monad with monoidal write-only type w, inner monad m, and return type a

Instances

Instances details
Monoid w => MonadTrans (WriterT w) Source # 
Instance details

Defined in Mini.Transformers.WriterT

Methods

lift :: Monad m => m a -> WriterT w m a Source #

(Monad m, Alternative m, Monoid w) => Alternative (WriterT w m) Source # 
Instance details

Defined in Mini.Transformers.WriterT

Methods

empty :: WriterT w m a #

(<|>) :: WriterT w m a -> WriterT w m a -> WriterT w m a #

some :: WriterT w m a -> WriterT w m [a] #

many :: WriterT w m a -> WriterT w m [a] #

(Monad m, Monoid w) => Applicative (WriterT w m) Source # 
Instance details

Defined in Mini.Transformers.WriterT

Methods

pure :: a -> WriterT w m a #

(<*>) :: WriterT w m (a -> b) -> WriterT w m a -> WriterT w m b #

liftA2 :: (a -> b -> c) -> WriterT w m a -> WriterT w m b -> WriterT w m c #

(*>) :: WriterT w m a -> WriterT w m b -> WriterT w m b #

(<*) :: WriterT w m a -> WriterT w m b -> WriterT w m a #

(Monad m, Monoid w) => Functor (WriterT w m) Source # 
Instance details

Defined in Mini.Transformers.WriterT

Methods

fmap :: (a -> b) -> WriterT w m a -> WriterT w m b #

(<$) :: a -> WriterT w m b -> WriterT w m a #

(Monad m, Monoid w) => Monad (WriterT w m) Source # 
Instance details

Defined in Mini.Transformers.WriterT

Methods

(>>=) :: WriterT w m a -> (a -> WriterT w m b) -> WriterT w m b #

(>>) :: WriterT w m a -> WriterT w m b -> WriterT w m b #

return :: a -> WriterT w m a #

Writing

tell :: Monad m => w -> WriterT w m () Source #

Append the given value to the output

Runners

runWriterT :: WriterT w m a -> m (a, w) Source #

Unwrap a WriterT