polysemy-RandomFu 0.3.0.0 → 0.4.0.0
raw patch · 4 files changed
+16/−13 lines, 4 filesdep ~polysemydep ~polysemy-plugindep ~polysemy-zooPVP ok
version bump matches the API change (PVP)
Dependency ranges changed: polysemy, polysemy-plugin, polysemy-zoo
API changes (from Hackage documentation)
- Polysemy.RandomFu: getRandomPrim :: forall r_ahrG r_aeFw. Member RandomFu r_ahrG => Prim r_aeFw -> Sem r_ahrG r_aeFw
+ Polysemy.RandomFu: getRandomPrim :: forall r_aiVg t_agcc. MemberWithError RandomFu r_aiVg => Prim t_agcc -> Sem r_aiVg t_agcc
- Polysemy.RandomFu: runRandomIOPureMT :: Member (Lift IO) r => PureMT -> Sem (RandomFu : r) a -> Sem r a
+ Polysemy.RandomFu: runRandomIOPureMT :: Member (Embed IO) r => PureMT -> Sem (RandomFu : r) a -> Sem r a
- Polysemy.RandomFu: runRandomSource :: forall s m r a. (RandomSource m s, Member (Lift m) r) => s -> Sem (RandomFu : r) a -> Sem r a
+ Polysemy.RandomFu: runRandomSource :: forall s m r a. (RandomSource m s, Member (Embed m) r) => s -> Sem (RandomFu : r) a -> Sem r a
- Polysemy.RandomFu: sampleRVar :: forall r_ahrF r_aeFw. Member RandomFu r_ahrF => RVar r_aeFw -> Sem r_ahrF r_aeFw
+ Polysemy.RandomFu: sampleRVar :: forall r_aiVe t_agad. MemberWithError RandomFu r_aiVe => RVar t_agad -> Sem r_aiVe t_agad
Files
- ChangeLog.md +3/−0
- Readme.md +1/−1
- polysemy-RandomFu.cabal +7/−7
- src/Polysemy/RandomFu.hs +5/−5
ChangeLog.md view
@@ -1,3 +1,6 @@+## v0.4.0.0+- Updated versions for polysemy (to >= 1.0.0) and polysemy-zoo. This changes some polysemy names.+ ## v0.3.0.0 - Fixed runRandomSource to make it possible to run with sources where the MonadRandom is not Sem r. (Thanks to @Infinisil !) - Added test to RandomFuSpec for the above change (Also, thanks to @Infinisil)
Readme.md view
@@ -1,4 +1,4 @@-# polysemy-RandomFu v0.2.0.0+# polysemy-RandomFu v0.4.0.0 [![Build Status][travis-badge]][travis] [![Hackage][hackage-badge]][hackage]
polysemy-RandomFu.cabal view
@@ -4,10 +4,10 @@ -- -- see: https://github.com/sol/hpack ----- hash: 0c5c47c4ef21096e59da04d78100ae9d4087627b0d6969c8fe9c2549a8e45a13+-- hash: 5c4a98522d70c3c87601300f7a2ed85e71b2f9a262e95c6919d24a494bdaa952 name: polysemy-RandomFu-version: 0.3.0.0+version: 0.4.0.0 synopsis: Experimental, RandomFu effect and interpreters for polysemy description: Please see the README on GitHub at <https://github.com/adamConnerSax/polysemy-Extra/tree/master/polysemy-RandomFu#polysemy-randomfu> category: Polysemy@@ -41,9 +41,9 @@ ghc-options: -fplugin=Polysemy.Plugin build-depends: base >=4.7 && <5- , polysemy >=0.3- , polysemy-plugin >0.2.0.0 && <0.4.0.0- , polysemy-zoo >=0.3+ , polysemy >=1.0.0 && <1.3+ , polysemy-plugin >0.2.0 && <0.4+ , polysemy-zoo >=0.6.0 && <0.7 , random-fu >=0.2.5.0 && <0.3.0.0 , random-source >=0.3 && <0.4.0.0 default-language: Haskell2010@@ -63,9 +63,9 @@ build-depends: base >=4.7 && <5 , hspec >=2.0- , polysemy >=0.3+ , polysemy >=1.0.0 && <1.3 , polysemy-RandomFu- , polysemy-plugin >0.2.0.0 && <0.4.0.0+ , polysemy-plugin >0.2.0 && <0.4 , polysemy-zoo , random-fu >=0.2.5.0 && <0.3.0.0 , random-source >=0.3 && <0.4.0.0
src/Polysemy/RandomFu.hs view
@@ -66,14 +66,14 @@ runRandomSource :: forall s m r a . ( R.RandomSource m s- , Member (Lift m) r+ , Member (Embed m) r ) => s -> Sem (RandomFu ': r) a -> Sem r a runRandomSource source = interpret $ \case- SampleRVar rv -> sendM $ R.runRVar (R.sample rv) source- GetRandomPrim pt -> sendM $ R.runRVar (R.getRandomPrim pt) source+ SampleRVar rv -> embed $ R.runRVar (R.sample rv) source+ GetRandomPrim pt -> embed $ R.runRVar (R.getRandomPrim pt) source {-# INLINEABLE runRandomSource #-} ------------------------------------------------------------------------------@@ -91,11 +91,11 @@ ------------------------------------------------------------------------------ -- | Run in 'IO', using the given 'R.PureMT' source, stored in an 'IORef' runRandomIOPureMT- :: Member (Lift IO) r+ :: Member (Embed IO) r => R.PureMT -> Sem (RandomFu ': r) a -> Sem r a runRandomIOPureMT source re =- sendM (newIORef source) >>= flip runRandomSource re+ embed (newIORef source) >>= flip runRandomSource re {-# INLINEABLE runRandomIOPureMT #-}