splitmix-distributions 0.7.0.0 → 0.8.0.0
raw patch · 3 files changed
+10/−2 lines, 3 filesdep +exceptionsPVP ok
version bump matches the API change (PVP)
Dependencies added: exceptions
API changes (from Hackage documentation)
+ System.Random.SplitMix.Distributions: instance Control.Monad.Catch.MonadThrow m => Control.Monad.Catch.MonadThrow (System.Random.SplitMix.Distributions.GenT m)
Files
- ChangeLog.md +5/−0
- splitmix-distributions.cabal +2/−1
- src/System/Random/SplitMix/Distributions.hs +3/−1
ChangeLog.md view
@@ -1,3 +1,8 @@+0.8 :++- add `exceptions` dependency+- add MonadThrow (GenT m) instance+ 0.7 : - add sampleIO, samplesIO
splitmix-distributions.cabal view
@@ -1,5 +1,5 @@ name: splitmix-distributions-version: 0.7.0.0+version: 0.8.0.0 description: Random samplers for some common distributions, as well as a convenient interface for composing them, based on splitmix. Please see the README on GitHub at <https://github.com/ocramz/splitmix-distributions#readme> homepage: https://github.com/ocramz/splitmix-distributions#readme bug-reports: https://github.com/ocramz/splitmix-distributions/issues@@ -30,6 +30,7 @@ base >=4.7 && <5 , containers >= 0.6.2.1 , erf+ , exceptions , mtl , splitmix , transformers
src/System/Random/SplitMix/Distributions.hs view
@@ -77,6 +77,8 @@ import qualified Data.IntMap as IM -- erf import Data.Number.Erf (InvErf(..))+-- exceptions+import Control.Monad.Catch (MonadThrow(..)) -- mtl import Control.Monad.Trans.Class (MonadTrans(..)) import Control.Monad.State (MonadState(..), modify)@@ -90,7 +92,7 @@ -- wraps 'splitmix' state-passing inside a 'StateT' monad -- -- useful for embedding random generation inside a larger effect stack-newtype GenT m a = GenT { unGen :: StateT SMGen m a } deriving (Functor, Applicative, Monad, MonadState SMGen, MonadTrans, MonadIO)+newtype GenT m a = GenT { unGen :: StateT SMGen m a } deriving (Functor, Applicative, Monad, MonadState SMGen, MonadTrans, MonadIO, MonadThrow) -- | Pure random generation type Gen = GenT Identity