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 +4/−0
- bluefin.cabal +3/−2
- src/Bluefin/Consume.hs +16/−0
- src/Bluefin/Pipes.hs +16/−1
- src/Bluefin/Pipes/Prelude.hs +13/−2
- src/Bluefin/Stream.hs +1/−0
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,