packages feed

bluefin 0.0.7.0 → 0.0.8.0

raw patch · 6 files changed

+53/−5 lines, 6 filesdep ~bluefin-internalPVP: major bump suggested

API removals or changes: PVP suggests a major version bump

Dependency ranges changed: bluefin-internal

API changes (from Hackage documentation)

+ Bluefin.Consume: await :: forall (e :: Effects) (es :: Effects) a. e :> es => Consume a e -> Eff es a
+ Bluefin.Consume: consumeEach :: forall b (es :: Effects) r. (forall (e :: Effects). () => Consume b e -> Eff (e :& es) r) -> Eff es b -> Eff es r
+ Bluefin.Consume: 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
+ Bluefin.Consume: type Consume a = Coroutine () a
+ Bluefin.Stream: 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
- Bluefin.Exception: throw :: forall (ex :: Effects) (es :: Effects) e a. ex :> es => Exception e ex -> e -> Eff es a
+ Bluefin.Exception: throw :: forall (e :: Effects) (es :: Effects) ex a. e :> es => Exception ex e -> ex -> Eff es a

Files

CHANGELOG.md view
@@ -1,3 +1,7 @@+## 0.0.8.0++Add `Bluefin.Consume` and `consumeStream`+ ## 0.0.7.0  Add `Bluefin.Pipes` and `Bluefin.Pipes.Prelude`, `connectCoroutines`
bluefin.cabal view
@@ -1,6 +1,6 @@ cabal-version:      3.0 name:               bluefin-version:            0.0.7.0+version:            0.0.8.0 license:            MIT license-file:       LICENSE author:             Tom Ellis@@ -22,6 +22,7 @@     exposed-modules:       Bluefin,       Bluefin.Compound,+      Bluefin.Consume,       Bluefin.Coroutine,       Bluefin.EarlyReturn,       Bluefin.Eff,@@ -36,6 +37,6 @@       Bluefin.Stream,       Bluefin.Writer,     build-depends:-      bluefin-internal >= 0.0.6.0 && < 0.1+      bluefin-internal >= 0.0.8.0 && < 0.1     hs-source-dirs:   src     default-language: Haskell2010
+ src/Bluefin/Consume.hs view
@@ -0,0 +1,16 @@+module Bluefin.Consume+  ( -- | 'Consume' allows you to await values during the execution of+    -- a Bluefin operation.  It provides similar functionality to+    -- @await@ from Conduit or Pipes.++    -- * Handle+    Consume,+    -- * Handlers+    consumeEach,+    consumeStream,+    -- * Effectful operations+    await,+  )+where++import Bluefin.Internal
src/Bluefin/Pipes.hs view
@@ -1,26 +1,41 @@--- | Reimplementation of the pipes ("Pipes") ecosystem in Bluefin.+-- | 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+--+-- * 'Bluefin.Stream', 'Bluefin.Stream.yield'+-- * 'Bluefin.Consume', 'Bluefin.Consume.await'+-- * 'Bluefin.Stream.consumeStream'+-- * For advanced cases only, 'Bluefin.Coroutine',+--   'Bluefin.Coroutine.yieldCoroutine' and+--   'Bluefin.Coroutine.connectCoroutines'+-- -- See also "Bluefin.Pipes.Prelude". module Bluefin.Pipes   ( -- * The Proxy handle     Proxy,     Effect,     runEffect,+     -- ** Producers     Producer,     yield,     for,     (~>),     (<~),+     -- ** Consumers     Consumer,     await,     (>~),     (~<),+     -- ** Pipes     Pipe,     cat,     (>->),     (<-<),+     -- * Utilities     next,     each,
src/Bluefin/Pipes/Prelude.hs view
@@ -1,5 +1,16 @@--- | Reimplementation of the @pipes@ prelude ("Pipes.Prelude") in--- Bluefin.  See also "Bluefin.Pipes".+-- | Reimplementation of the @pipes@ prelude (@Pipes.Prelude@) 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+--+-- * 'Bluefin.Stream', 'Bluefin.Stream.yield'+-- * 'Bluefin.Consume', 'Bluefin.Consume.await'+-- * 'Bluefin.Stream.consumeStream'+-- * For advanced cases only, 'Bluefin.Coroutine',+--   'Bluefin.Coroutine.yieldCoroutine' and+--   'Bluefin.Coroutine.connectCoroutines'+--+-- See also "Bluefin.Pipes". -- -- @ -- >>> 'Bluefin.Eff.runEff' $ \\io -> 'runEffect' $ do
src/Bluefin/Stream.hs view
@@ -17,6 +17,7 @@     enumerateFrom,     mapMaybe,     catMaybes,+    consumeStream,     -- * Effectful operations     yield,     inFoldable,