potoki-core-0.9.1: Low-level components of "potoki"
Potoki.Core.Transform
Contents
Synopsis
newtype Transform input output Source #
Constructors
consume :: Consume input 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 #
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') #
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 #
left' :: Transform a b -> Transform (Either a c) (Either b c) #
right' :: Transform a b -> Transform (Either c a) (Either c b) #
first' :: Transform a b -> Transform (a, c) (b, c) #
second' :: Transform a b -> Transform (c, a) (c, b) #
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 #
id :: cat a a #
(.) :: cat b c -> cat a b -> cat a c #