packages feed

bluefin 0.2.6.0 → 0.2.7.0

raw patch · 15 files changed

+51/−18 lines, 15 filesdep ~bluefin-internalPVP ok

version bump matches the API change (PVP)

Dependency ranges changed: bluefin-internal

API changes (from Hackage documentation)

+ Bluefin.Compound: handleOneWayCoercible :: forall (h :: Effects -> Type). (forall (e :: Effects) (es :: Effects). e :> es => OneWayCoercible (h e) (h es)) => HandleD h
+ Bluefin.Compound: oneWayCoercibleTrustMe :: forall (e :: Effects) (es :: Effects) h. e :> es => (forall (e' :: Effects) (es' :: Effects). e' :> es' => h e' -> h es') -> OneWayCoercibleD (h e) (h es)

Files

CHANGELOG.md view
@@ -1,3 +1,11 @@+# 0.2.7.0++* Add `Bluefin.Compound.handleOneWayCoercible`++* Add `Bluefin.Compound.oneWayCoercibleTrustMe`++* Add `OneWayCoercible` instances for Generic types+ # 0.2.6.0  * Add `Bluefin.Exception.GeneralBracket`, thanks to Shea Levy
bluefin.cabal view
@@ -1,6 +1,6 @@ cabal-version:      3.0 name:               bluefin-version:            0.2.6.0+version:            0.2.7.0 license:            MIT license-file:       LICENSE author:             Tom Ellis@@ -42,6 +42,6 @@       Bluefin.System.IO,       Bluefin.Writer,     build-depends:-      bluefin-internal >= 0.3.3.0 && < 0.4+      bluefin-internal >= 0.3.5.0 && < 0.4     hs-source-dirs:   src     default-language: Haskell2010
src/Bluefin.hs view
@@ -248,7 +248,7 @@     -- @      -- ** \"Synthetic\" effect systems provide fine-grained effects and encapsulation-    --+     -- | The approach of building effects from smaller pieces by     -- combining algebraic data types, and then interpreting those     -- pieces to "handle" some of the effects can be called the@@ -265,7 +265,7 @@     -- possible effects by handling an effect.      -- *** The downside of synthetic effects-    --+     -- | Unfortunately, synthetic effects have two notable downsides:     -- firstly they have unpredictable performance, and secondly they     -- make it hard to achieve resource safety.  The first point –@@ -305,7 +305,7 @@     -- Brackets](https://academy.fpblock.com/blog/2017/06/tale-of-two-brackets/)".      -- ** @IO@-wrapper effect systems-    --+     -- |     --     -- An alternative to synthetic effects that does allows
src/Bluefin/Compound.hs view
@@ -661,9 +661,12 @@      -- | The documentation for 'Handle' shows how to use     -- @OneWayCoercible@ to define @Handle@ instances.-    OneWayCoercible.OneWayCoercible(OneWayCoercible.oneWayCoercibleImpl),-    OneWayCoercibleHandle(MkOneWayCoercibleHandle),+    OneWayCoercible.OneWayCoercible (OneWayCoercible.oneWayCoercibleImpl),+    OneWayCoercibleHandle (MkOneWayCoercibleHandle),+    handleOneWayCoercible,     OneWayCoercible.gOneWayCoercible,+    oneWayCoercibleTrustMe,+    -- | Bluefin re-exports @Generic@ for convenience.     OneWayCoercible.Generic,      -- ** Other functions for compound effects
src/Bluefin/Consume.hs view
@@ -5,10 +5,12 @@      -- * Handle     Consume,+     -- * Handlers     consumeEach,     consumeStream,     streamConsume,+     -- * Effectful operations     await,     takeConsume,
src/Bluefin/EarlyReturn.hs view
@@ -5,8 +5,10 @@      -- * Handle     EarlyReturn,+     -- * Handlers     withEarlyReturn,+     -- * Effectful operations     returnEarly,   )
src/Bluefin/Eff.hs view
@@ -1,21 +1,24 @@ module Bluefin.Eff   ( -- * 'Eff' monad     Eff,+     -- * Run an 'Eff'     runPureEff,     runEff_,     runEff,+     -- * Resource management     bracket,     finally,+     -- * Type classes      -- | See "Bluefin.Eff.IO" for the most direct way of doing I/O in     -- Bluefin.  If you really want to use 'MonadIO' you can use     -- 'withMonadIO'.-     withMonadIO,     withMonadFail,+     -- * Effect tracking     Effects,     (:>),
src/Bluefin/Exception.hs view
@@ -1,10 +1,12 @@ module Bluefin.Exception   ( -- * Handle     Exception,+     -- * Handlers     try,     handle,     catch,+     -- * Effectful operations     throw,     rethrowIO,
src/Bluefin/HandleReader.hs view
@@ -11,14 +11,16 @@ -- new behaviors.  module Bluefin.HandleReader-  (-- * Handle-   HandleReader,-   -- * Handlers-   runHandleReader,-   -- * Effectful operations-   askHandle,-   localHandle,+  ( -- * Handle+    HandleReader,++    -- * Handlers+    runHandleReader,++    -- * Effectful operations+    askHandle,+    localHandle,   )-  where+where  import Bluefin.Internal
src/Bluefin/IO.hs view
@@ -3,20 +3,25 @@      -- * Handle     IOE,+     -- * Handlers     runEff_,     runEff,+     -- * Effectful operations     effIO,     rethrowIO,+     -- * IO type classes     withMonadIO,     withEffToIO_,     withEffToIOCloneHandle,+     -- ** @EffReader@     EffReader,     effReader,     runEffReader,+     -- ** Deprecated versions     withEffToIO,   )
src/Bluefin/Jump.hs view
@@ -6,8 +6,10 @@      -- * Handle     Jump,+     -- * Handlers     withJump,+     -- * Effectful operations     jumpTo,   )
src/Bluefin/State.hs view
@@ -1,10 +1,12 @@ module Bluefin.State   ( -- * Handle     State,+     -- * Handlers     evalState,     runState,     withState,+     -- * Effectful operations     get,     put,
src/Bluefin/Stream.hs view
@@ -8,6 +8,7 @@      -- * Handle     Stream,+     -- * Handlers     forEach,     yieldToList,@@ -20,6 +21,7 @@     catMaybes,     consumeStream,     streamConsume,+     -- * Effectful operations     yield,     inFoldable,
src/Bluefin/System/IO.hs view
@@ -1,5 +1,4 @@ -- | A safer interface to @System.IO.'System.IO.Handle'@- module Bluefin.System.IO   ( -- * Handle     Handle,@@ -16,7 +15,6 @@     hFlush,      -- * Unsafe-     unsafeWithHandle,   ) where
src/Bluefin/Writer.hs view
@@ -6,9 +6,11 @@      -- * Handle     Writer,+     -- * Handlers     runWriter,     execWriter,+     -- * Effectful operations     tell,   )