atl-17072: Arrow Transformer Library

Safe HaskellSafe
LanguageHaskell98

Control.Arrow.Writer

Documentation

newtype WriterT w r a b Source #

Constructors

WriterT 

Fields

Instances

(Monoid w, Arrow r) => ArrowWriter w (WriterT w r) Source # 

Methods

tell :: WriterT w r w () Source #

look :: WriterT w r a (a, w) Source #

censor :: (w -> w) -> WriterT w r a b -> WriterT w r a b Source #

Monoid w => ArrowTransformer (WriterT w) Source # 

Methods

lift :: Arrow r => r a b -> WriterT w r a b Source #

tmap :: (Arrow r, Arrow s) => (forall a b. r a b -> s a b) -> WriterT w r a b -> WriterT w s a b Source #

(Monoid w, Arrow r) => Category * (WriterT w r) Source # 

Methods

id :: cat a a #

(.) :: cat b c -> cat a b -> cat a c #

(Monoid w, Arrow r) => Arrow (WriterT w r) Source # 

Methods

arr :: (b -> c) -> WriterT w r b c #

first :: WriterT w r b c -> WriterT w r (b, d) (c, d) #

second :: WriterT w r b c -> WriterT w r (d, b) (d, c) #

(***) :: WriterT w r b c -> WriterT w r b' c' -> WriterT w r (b, b') (c, c') #

(&&&) :: WriterT w r b c -> WriterT w r b c' -> WriterT w r b (c, c') #

(Monoid w, ArrowZero r) => ArrowZero (WriterT w r) Source # 

Methods

zeroArrow :: WriterT w r b c #

(Monoid w, ArrowPlus r) => ArrowPlus (WriterT w r) Source # 

Methods

(<+>) :: WriterT w r b c -> WriterT w r b c -> WriterT w r b c #

(Monoid w, ArrowChoice r) => ArrowChoice (WriterT w r) Source # 

Methods

left :: WriterT w r b c -> WriterT w r (Either b d) (Either c d) #

right :: WriterT w r b c -> WriterT w r (Either d b) (Either d c) #

(+++) :: WriterT w r b c -> WriterT w r b' c' -> WriterT w r (Either b b') (Either c c') #

(|||) :: WriterT w r b d -> WriterT w r c d -> WriterT w r (Either b c) d #

(Monoid w, ArrowApply r) => ArrowApply (WriterT w r) Source # 

Methods

app :: WriterT w r (WriterT w r b c, b) c #

(Monoid w, ArrowLoop r) => ArrowLoop (WriterT w r) Source # 

Methods

loop :: WriterT w r (b, d) (c, d) -> WriterT w r b c #