Copyright | (c) Fumiaki Kinoshita 2014 |
---|---|
License | BSD3 |
Maintainer | Fumiaki Kinoshita <[email protected]> |
Stability | experimental |
Portability | non-portable |
Safe Haskell | None |
Language | Haskell2010 |
Data.Functor.PushPull
Description
- data PushPull a b r
- type PushPull' a = PushPull a a
- mapPush :: (a -> a') -> PushPull a b r -> PushPull a' b r
- push :: Elevate (PushPull a b) f => a -> f ()
- pull :: Elevate (PushPull a b) f => f b
- bipush :: (i -> (a, c)) -> (b -> d -> o) -> PushPull i o r -> Day (PushPull a b) (PushPull c d) r
- bipull :: (a -> b -> c) -> PushPull i c r -> Day (PushPull i a) (PushPull i b) r
- filterPush :: (Applicative f, Elevate (PushPull a b) f) => (a -> Bool) -> PushPull a b r -> f r
Documentation
The type for asynchronous input/output.
bipush :: (i -> (a, c)) -> (b -> d -> o) -> PushPull i o r -> Day (PushPull a b) (PushPull c d) r Source
filterPush :: (Applicative f, Elevate (PushPull a b) f) => (a -> Bool) -> PushPull a b r -> f r Source
filterPush :: (a -> Bool) -> PushPull a b r -> Program (PushPull a b) r