Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Reimplementation of the pipes
(Pipes
) ecosystem in Bluefin.
It primarily serves as an example of what you can do with Bluefin
and you probably won't want to use it directly. Instead you are
recommended to use
Stream
,yield
Consume
,await
consumeStream
- For advanced cases only,
Coroutine
,yieldCoroutine
andconnectCoroutines
See also Bluefin.Pipes.Prelude.
Synopsis
- data Proxy a' a b' b (e :: Effects)
- type Effect = Producer Void
- runEffect :: forall (es :: Effects) r. (forall (e :: Effects). Effect e -> Eff (e :& es) r) -> Eff es r
- type Producer = Proxy Void () ()
- yield :: forall (e :: Effects) (es :: Effects) x1 x a. e :> es => Proxy x1 x () a e -> a -> Eff es ()
- for :: forall (e1 :: Effects) (es :: Effects) x' x b' b a' c' c. e1 :> es => (forall (e :: Effects). Proxy x' x b' b e -> Eff (e :& es) a') -> (b -> forall (e :: Effects). Proxy x' x c' c e -> Eff (e :& es) b') -> Proxy x' x c' c e1 -> Eff es a'
- (~>) :: forall (e1 :: Effects) (es :: Effects) a x' x b' b a' c' c. e1 :> es => (a -> forall (e :: Effects). Proxy x' x b' b e -> Eff (e :& es) a') -> (b -> forall (e :: Effects). Proxy x' x c' c e -> Eff (e :& es) b') -> a -> Proxy x' x c' c e1 -> Eff es a'
- (<~) :: forall (e1 :: Effects) (es :: Effects) b x' x c' c b' a a'. e1 :> es => (b -> forall (e :: Effects). Proxy x' x c' c e -> Eff (e :& es) b') -> (a -> forall (e :: Effects). Proxy x' x b' b e -> Eff (e :& es) a') -> a -> Proxy x' x c' c e1 -> Eff es a'
- type Consumer a = Pipe a Void
- await :: forall (e :: Effects) (es :: Effects) a y' y. e :> es => Proxy () a y' y e -> Eff es a
- (>~) :: forall (e1 :: Effects) (es :: Effects) a' a y' y b c. e1 :> es => (forall (e :: Effects). Proxy a' a y' y e -> Eff (e :& es) b) -> (forall (e :: Effects). Proxy () b y' y e -> Eff (e :& es) c) -> Proxy a' a y' y e1 -> Eff es c
- (~<) :: forall (e1 :: Effects) (es :: Effects) b y' y c a' a. e1 :> es => (forall (e :: Effects). Proxy () b y' y e -> Eff (e :& es) c) -> (forall (e :: Effects). Proxy a' a y' y e -> Eff (e :& es) b) -> Proxy a' a y' y e1 -> Eff es c
- type Pipe a = Proxy () a ()
- cat :: forall a (e :: Effects) (es :: Effects) r. Pipe a a e -> Eff (e :& es) r
- (>->) :: forall (e1 :: Effects) (es :: Effects) a' a b r c' c. e1 :> es => (forall (e :: Effects). Proxy a' a () b e -> Eff (e :& es) r) -> (forall (e :: Effects). Proxy () b c' c e -> Eff (e :& es) r) -> Proxy a' a c' c e1 -> Eff es r
- (<-<) :: forall (e1 :: Effects) (es :: Effects) b c' c r a' a. e1 :> es => (forall (e :: Effects). Proxy () b c' c e -> Eff (e :& es) r) -> (forall (e :: Effects). Proxy a' a () b e -> Eff (e :& es) r) -> Proxy a' a c' c e1 -> Eff es r
- next :: ()
- each :: forall f a x' x (e :: Effects) (es :: Effects). Foldable f => f a -> Proxy x' x () a e -> Eff (e :& es) ()