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

Bluefin.Consume

Description

This is an old interface and will be deprecated in the future. You are encouraged to use Bluefin.Capability.Await instead.

Synopsis

Documentation

Consume 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.

Handle

type Consume a = Coroutine () a #

Handlers

consumeEach :: forall b (es :: Effects) r. (forall (e :: Effects). Consume b e -> Eff (e :& es) r) -> Eff es b -> Eff es r #

consumeStream :: forall a (es :: Effects) r. (forall (e :: Effects). Consume a e -> Eff (e :& es) r) -> (forall (e :: Effects). Stream a e -> Eff (e :& es) r) -> Eff es r #

streamConsume :: forall a (es :: Effects) r. (forall (e :: Effects). Stream a e -> Eff (e :& es) r) -> (forall (e :: Effects). Consume 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 #

takeConsume :: forall (e1 :: Effects) (es :: Effects) (e2 :: Effects) a. (e1 <: es, e2 <: es) => Int -> Consume a e1 -> Stream a e2 -> Eff es () #