bluefin 0.0.1.0 → 0.0.2.0
raw patch · 2 files changed
+24/−1 lines, 2 filesdep ~bluefin-internalPVP ok
version bump matches the API change (PVP)
Dependency ranges changed: bluefin-internal
API changes (from Hackage documentation)
+ Bluefin.StateSource: data () => StateSource (st :: Effects)
+ Bluefin.StateSource: newState :: forall (e :: Effects) s (es :: Effects). StateSource e -> s -> Eff es (State s e)
+ Bluefin.StateSource: withStateSource :: forall (es :: Effects) a. (forall (e :: Effects). () => StateSource e -> Eff (e :& es) a) -> Eff es a
Files
- bluefin.cabal +4/−1
- src/Bluefin/StateSource.hs +20/−0
bluefin.cabal view
@@ -1,6 +1,6 @@ cabal-version: 3.0 name: bluefin-version: 0.0.1.0+version: 0.0.2.0 license: MIT license-file: LICENSE author: Tom Ellis@@ -9,6 +9,8 @@ extra-doc-files: CHANGELOG.md description: The Bluefin effect system synopsis: The Bluefin effect system+homepage: https://github.com/tomjaguarpaw/bluefin+bug-reports: https://github.com/tomjaguarpaw/bluefin/issues common warnings ghc-options: -Wall@@ -27,6 +29,7 @@ Bluefin.Jump, Bluefin.IO, Bluefin.State,+ Bluefin.StateSource, Bluefin.Stream, Bluefin.Writer, build-depends:
+ src/Bluefin/StateSource.hs view
@@ -0,0 +1,20 @@+module Bluefin.StateSource+ ( -- | A 'StateSource' allows you to allocate new+ -- 'Bluefin.State.State' handles, much like 'Control.Monad.ST'+ -- allows you to allocate new 'Data.STRef.STRef's. This can be+ -- useful when you want to avoid nested 'Bluefin.State.runState'+ -- (or `Bluefin.State.evalState' blocks), or you need an only+ -- dynamically known number of mutable states.++ -- * Handle+ StateSource,++ -- * Handlers+ withStateSource,++ -- * Effectful operations+ newState,+ )+where++import Bluefin.Internal