atl-17072: Arrow Transformer Library

Safe HaskellSafe
LanguageHaskell98

Control.Arrow.Reader

Documentation

newtype ReaderT r s a b Source #

Constructors

ReaderT 

Fields

Instances

(Arrow s, ArrowTransformer xT, Arrow (xT (ReaderT r s))) => ArrowReader r (xT (ReaderT r s)) Source # 

Methods

ask :: xT (ReaderT r s) () r Source #

local :: (r -> r) -> xT (ReaderT r s) a b -> xT (ReaderT r s) a b Source #

Arrow s => ArrowReader r (ReaderT r s) Source # 

Methods

ask :: ReaderT r s () r Source #

local :: (r -> r) -> ReaderT r s a b -> ReaderT r s a b Source #

ArrowTransformer (ReaderT r) Source # 

Methods

lift :: Arrow r => r a b -> ReaderT r r a b Source #

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

Arrow s => Category * (ReaderT r s) Source # 

Methods

id :: cat a a #

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

Arrow s => Arrow (ReaderT r s) Source # 

Methods

arr :: (b -> c) -> ReaderT r s b c #

first :: ReaderT r s b c -> ReaderT r s (b, d) (c, d) #

second :: ReaderT r s b c -> ReaderT r s (d, b) (d, c) #

(***) :: ReaderT r s b c -> ReaderT r s b' c' -> ReaderT r s (b, b') (c, c') #

(&&&) :: ReaderT r s b c -> ReaderT r s b c' -> ReaderT r s b (c, c') #

ArrowZero s => ArrowZero (ReaderT r s) Source # 

Methods

zeroArrow :: ReaderT r s b c #

ArrowPlus s => ArrowPlus (ReaderT r s) Source # 

Methods

(<+>) :: ReaderT r s b c -> ReaderT r s b c -> ReaderT r s b c #

ArrowChoice s => ArrowChoice (ReaderT r s) Source # 

Methods

left :: ReaderT r s b c -> ReaderT r s (Either b d) (Either c d) #

right :: ReaderT r s b c -> ReaderT r s (Either d b) (Either d c) #

(+++) :: ReaderT r s b c -> ReaderT r s b' c' -> ReaderT r s (Either b b') (Either c c') #

(|||) :: ReaderT r s b d -> ReaderT r s c d -> ReaderT r s (Either b c) d #

ArrowApply s => ArrowApply (ReaderT r s) Source # 

Methods

app :: ReaderT r s (ReaderT r s b c, b) c #

ArrowLoop s => ArrowLoop (ReaderT r s) Source # 

Methods

loop :: ReaderT r s (b, d) (c, d) -> ReaderT r s b c #

withReaderT :: Arrow s => s q r -> ReaderT r s a b -> ReaderT q s a b Source #