mini-1.3.0.1: Minimal essentials
Safe HaskellSafe-Inferred
LanguageHaskell2010

Mini.Transformers.WriterT

Description

Extend a monad with an accumulative write-only environment

Synopsis

Type

newtype WriterT w m a Source #

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

Constructors

WriterT (m (a, w)) 

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 #

Runner

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

Unwrap a WriterT computation

Operations

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

Append a value to the write-only environment