| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Bluefin.Pipes
Description
Reimplementation of the pipes (Pipes) ecosystem in Bluefin.
You should not use this module. It will be deprecated and removed in future versions.
This module is just an example of what you can do with Bluefin and
as such it should be obtained from
bluefin-examples
if you want it. Instead of using it directly you are recommended
to use
Stream,yieldConsume,awaitconsumeStream- For advanced cases only,
Coroutine,yieldCoroutineandconnectCoroutines
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) ()