potoki-core-1.5.2: Low-level components of "potoki"

Safe HaskellNone
LanguageHaskell2010

Potoki.Core.Transform

Contents

Synopsis

Documentation

newtype Transform input output Source #

Constructors

Transform (Fetch input -> IO (Fetch output)) 

consume :: Consume input output -> Transform input output Source #

produce :: (input -> Produce output) -> Transform input output Source #

mapFetch :: (Fetch a -> Fetch b) -> Transform a b Source #

executeIO :: Transform (IO a) a Source #

Execute the IO action.

take :: Int -> Transform input input Source #

Orphan instances

Arrow Transform Source # 

Methods

arr :: (b -> c) -> Transform b c #

first :: Transform b c -> Transform (b, d) (c, d) #

second :: Transform b c -> Transform (d, b) (d, c) #

(***) :: Transform b c -> Transform b' c' -> Transform (b, b') (c, c') #

(&&&) :: Transform b c -> Transform b c' -> Transform b (c, c') #

ArrowChoice Transform Source # 

Methods

left :: Transform b c -> Transform (Either b d) (Either c d) #

right :: Transform b c -> Transform (Either d b) (Either d c) #

(+++) :: Transform b c -> Transform b' c' -> Transform (Either b b') (Either c c') #

(|||) :: Transform b d -> Transform c d -> Transform (Either b c) d #

Choice Transform Source # 

Methods

left' :: Transform a b -> Transform (Either a c) (Either b c) #

right' :: Transform a b -> Transform (Either c a) (Either c b) #

Strong Transform Source # 

Methods

first' :: Transform a b -> Transform (a, c) (b, c) #

second' :: Transform a b -> Transform (c, a) (c, b) #

Profunctor Transform Source # 

Methods

dimap :: (a -> b) -> (c -> d) -> Transform b c -> Transform a d #

lmap :: (a -> b) -> Transform b c -> Transform a c #

rmap :: (b -> c) -> Transform a b -> Transform a c #

(#.) :: Coercible * c b => (b -> c) -> Transform a b -> Transform a c #

(.#) :: Coercible * b a => Transform b c -> (a -> b) -> Transform a c #

Category * Transform Source # 

Methods

id :: cat a a #

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