packages feed

bluefin 0.0.15.0 → 0.0.16.0

raw patch · 4 files changed

+16/−11 lines, 4 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.IO: runEff_ :: (forall (e :: Effects). () => IOE e -> Eff e a) -> IO a
- Bluefin.Compound: class () => Handle (h :: Effects -> Type)
+ Bluefin.Compound: class Handle (h :: Effects -> Type)
- Bluefin.Compound: data () => Compound (e1 :: Effects -> Type) (e2 :: Effects -> Type) (ss :: Effects)
+ Bluefin.Compound: data Compound (e1 :: Effects -> Type) (e2 :: Effects -> Type) (ss :: Effects)
- Bluefin.Coroutine: data () => Coroutine a b (e :: Effects)
+ Bluefin.Coroutine: data Coroutine a b (e :: Effects)
- Bluefin.Eff: class () => (es1 :: Effects) :> (es2 :: Effects)
+ Bluefin.Eff: class (es1 :: Effects) :> (es2 :: Effects)
- Bluefin.Eff: data () => Eff (es :: Effects) a
+ Bluefin.Eff: data Eff (es :: Effects) a
- Bluefin.Eff: data () => Effects
+ Bluefin.Eff: data Effects
- Bluefin.Exception: data () => Exception exn (e :: Effects)
+ Bluefin.Exception: data Exception exn (e :: Effects)
- Bluefin.HandleReader: data () => HandleReader (h :: Effects -> Type) (e :: Effects)
+ Bluefin.HandleReader: data HandleReader (h :: Effects -> Type) (e :: Effects)
- Bluefin.IO: data () => EffReader r (es :: Effects) a
+ Bluefin.IO: data EffReader r (es :: Effects) a
- Bluefin.IO: data () => IOE (e :: Effects)
+ Bluefin.IO: data IOE (e :: Effects)
- Bluefin.Pipes: data () => Proxy a' a b' b (e :: Effects)
+ Bluefin.Pipes: data Proxy a' a b' b (e :: Effects)
- Bluefin.Reader: data () => Reader r (e :: Effects)
+ Bluefin.Reader: data Reader r (e :: Effects)
- Bluefin.State: data () => State s (e :: Effects)
+ Bluefin.State: data State s (e :: Effects)
- Bluefin.StateSource: data () => StateSource (e :: Effects)
+ Bluefin.StateSource: data StateSource (e :: Effects)
- Bluefin.StateSource: newState :: forall (e :: Effects) s (es :: Effects). StateSource e -> s -> Eff es (State s e)
+ Bluefin.StateSource: newState :: forall (e :: Effects) (es :: Effects) s. e :> es => StateSource e -> s -> Eff es (State s e)
- Bluefin.System.IO: data () => Handle (e :: Effects)
+ Bluefin.System.IO: data Handle (e :: Effects)
- Bluefin.Writer: data () => Writer w (e :: Effects)
+ Bluefin.Writer: data Writer w (e :: Effects)

Files

CHANGELOG.md view
@@ -1,3 +1,7 @@+## 0.0.16.0++* Export `runEff_` from `Bluefin.IO`+ ## 0.0.15.0  * Add `runEff_` to `Bluefin.Eff`
bluefin.cabal view
@@ -1,6 +1,6 @@ cabal-version:      3.0 name:               bluefin-version:            0.0.15.0+version:            0.0.16.0 license:            MIT license-file:       LICENSE author:             Tom Ellis@@ -39,6 +39,6 @@       Bluefin.System.IO,       Bluefin.Writer,     build-depends:-      bluefin-internal >= 0.0.13.0 && < 0.1+      bluefin-internal >= 0.0.13.0 && < 0.2     hs-source-dirs:   src     default-language: Haskell2010
src/Bluefin.hs view
@@ -247,20 +247,20 @@      -- * Comparison to other effect systems -    -- ** Everything except effectful+    -- ** Everything except @effectful@      -- | The design of Bluefin is strongly inspired by and based on-    -- effectful.  All the points in [effectful's comparison of itself+    -- @effectful@.  All the points in [@effectful@'s comparison of itself     -- to other effect     -- systems](https://github.com/haskell-effectful/effectful?tab=readme-ov-file#motivation)     -- apply to Bluefin too. -    -- ** effectful+    -- ** @effectful@ -    -- | The major difference between Bluefin and effectful is that in+    -- | The major difference between Bluefin and @effectful@ is that in     -- Bluefin effects are represented as value-level handles whereas-    -- in effectful they are represented only at the type level.-    -- effectful could be described as "a well-typed implementation of+    -- in @effectful@ they are represented only at the type level.+    -- @effectful@ could be described as "a well-typed implementation of     -- the @ReaderT@ @IO@ pattern", and Bluefin could be described as     -- a well-typed implementation of something even simpler: the     -- [Handle@@ -274,15 +274,15 @@     -- lines :(      -- | "/Why not just implement Bluefin as an alternative API on/-    -- /top of effectful?/"+    -- /top of @effectful@?/"     --     -- It would be great to share code between the two projects!  But     --  I don't know to implement Bluefin's "Bluefin.Compound" effects-    --  in effectful.+    --  in @effectful@.      -- * Implementation -    -- | Bluefin has a similar implementation style to effectful.+    -- | Bluefin has a similar implementation style to @effectful@.     -- t'Bluefin.Eff.Eff' is an opaque wrapper around 'IO',     -- t'Bluefin.State.State' is an opaque wrapper around     -- 'Data.IORef.IORef', and 'Bluefin.Exception.throw' throws an
src/Bluefin/IO.hs view
@@ -4,6 +4,7 @@     -- * Handle     IOE,     -- * Handlers+    runEff_,     runEff,     -- * Effectful operations     effIO,