bluefin-0.7.0.1: The Bluefin effect system
Safe HaskellSafe-Inferred
LanguageHaskell2010

Bluefin.Capability.Await

Synopsis

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

type Await a = Consume a #

Handlers

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 #

Effectful operations

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 () #