| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Bluefin.Capability.Await
Synopsis
- type Await a = Consume a
- eachAwait :: forall b (es :: Effects) r. (forall (e :: Effects). Await b e -> Eff (e :& es) r) -> Eff es b -> Eff es r
- awaitYield :: forall a (es :: Effects) r. (forall (e :: Effects). Await a e -> Eff (e :& es) r) -> (forall (e :: Effects). Yield a e -> Eff (e :& es) r) -> Eff es r
- await :: forall (e :: Effects) (es :: Effects) a. e <: es => Consume a e -> Eff es a
- takeAwait :: forall (e1 :: Effects) (es :: Effects) (e2 :: Effects) a. (e1 <: es, e2 <: es) => Int -> Await a e1 -> Yield a e2 -> Eff es ()
Documentation
Await allows you to await values during the execution of
a Bluefin operation. It provides similar functionality to
await from Conduit or Pipes.
For information about prompt finalization/resource safety when
using Bluefin Consumes, see Bluefin.Coroutine.
Capability
Handlers
Arguments
| :: forall a (es :: Effects) r. (forall (e :: Effects). Await a e -> Eff (e :& es) r) | Starts running first. Each |
| -> (forall (e :: Effects). Yield a e -> Eff (e :& es) r) | ... receives the value |
| -> Eff es r |
awaitYield is connectRequests
specialized to Await and Yield, which is the most common case.