packages feed

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 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 #-}