MonadRandom 0.5.1.2 → 0.5.2
raw patch · 5 files changed
+22/−16 lines, 5 filesdep ~basedep ~randomPVP: major bump suggested
API removals or changes: PVP suggests a major version bump
Dependency ranges changed: base, random
API changes (from Hackage documentation)
- Control.Monad.Random.Class: instance Control.Monad.Random.Class.MonadSplit System.Random.StdGen GHC.Types.IO
- Control.Monad.Trans.Random.Lazy: instance (GHC.Base.Monad m, System.Random.RandomGen g) => Control.Monad.Random.Class.MonadInterleave (Control.Monad.Trans.Random.Lazy.RandT g m)
- Control.Monad.Trans.Random.Lazy: instance (System.Random.RandomGen g, GHC.Base.Monad m) => Control.Monad.Random.Class.MonadRandom (Control.Monad.Trans.Random.Lazy.RandT g m)
- Control.Monad.Trans.Random.Lazy: instance (System.Random.RandomGen g, GHC.Base.Monad m) => Control.Monad.Random.Class.MonadSplit g (Control.Monad.Trans.Random.Lazy.RandT g m)
- Control.Monad.Trans.Random.Strict: instance (GHC.Base.Monad m, System.Random.RandomGen g) => Control.Monad.Random.Class.MonadInterleave (Control.Monad.Trans.Random.Strict.RandT g m)
- Control.Monad.Trans.Random.Strict: instance (System.Random.RandomGen g, GHC.Base.Monad m) => Control.Monad.Random.Class.MonadRandom (Control.Monad.Trans.Random.Strict.RandT g m)
- Control.Monad.Trans.Random.Strict: instance (System.Random.RandomGen g, GHC.Base.Monad m) => Control.Monad.Random.Class.MonadSplit g (Control.Monad.Trans.Random.Strict.RandT g m)
+ Control.Monad.Random.Class: instance Control.Monad.Random.Class.MonadSplit System.Random.Internal.StdGen GHC.Types.IO
+ Control.Monad.Random.Lazy: class Random a
+ Control.Monad.Random.Lazy: class RandomGen g
+ Control.Monad.Random.Lazy: class Uniform a
+ Control.Monad.Random.Lazy: class UniformRange a
+ Control.Monad.Random.Lazy: data StdGen
+ Control.Monad.Random.Lazy: genByteString :: RandomGen g => Int -> g -> (ByteString, g)
+ Control.Monad.Random.Lazy: genRange :: RandomGen g => g -> (Int, Int)
+ Control.Monad.Random.Lazy: genShortByteString :: RandomGen g => Int -> g -> (ShortByteString, g)
+ Control.Monad.Random.Lazy: genWord16 :: RandomGen g => g -> (Word16, g)
+ Control.Monad.Random.Lazy: genWord32 :: RandomGen g => g -> (Word32, g)
+ Control.Monad.Random.Lazy: genWord32R :: RandomGen g => Word32 -> g -> (Word32, g)
+ Control.Monad.Random.Lazy: genWord64 :: RandomGen g => g -> (Word64, g)
+ Control.Monad.Random.Lazy: genWord64R :: RandomGen g => Word64 -> g -> (Word64, g)
+ Control.Monad.Random.Lazy: genWord8 :: RandomGen g => g -> (Word8, g)
+ Control.Monad.Random.Lazy: getStdGen :: MonadIO m => m StdGen
+ Control.Monad.Random.Lazy: getStdRandom :: MonadIO m => (StdGen -> (a, StdGen)) -> m a
+ Control.Monad.Random.Lazy: mkStdGen :: Int -> StdGen
+ Control.Monad.Random.Lazy: newStdGen :: MonadIO m => m StdGen
+ Control.Monad.Random.Lazy: next :: RandomGen g => g -> (Int, g)
+ Control.Monad.Random.Lazy: random :: (Random a, RandomGen g) => g -> (a, g)
+ Control.Monad.Random.Lazy: randomIO :: (Random a, MonadIO m) => m a
+ Control.Monad.Random.Lazy: randomR :: (Random a, RandomGen g) => (a, a) -> g -> (a, g)
+ Control.Monad.Random.Lazy: randomRIO :: (Random a, MonadIO m) => (a, a) -> m a
+ Control.Monad.Random.Lazy: randomRs :: (Random a, RandomGen g) => (a, a) -> g -> [a]
+ Control.Monad.Random.Lazy: randoms :: (Random a, RandomGen g) => g -> [a]
+ Control.Monad.Random.Lazy: setStdGen :: MonadIO m => StdGen -> m ()
+ Control.Monad.Random.Lazy: split :: RandomGen g => g -> (g, g)
+ Control.Monad.Random.Strict: class Random a
+ Control.Monad.Random.Strict: class RandomGen g
+ Control.Monad.Random.Strict: class Uniform a
+ Control.Monad.Random.Strict: class UniformRange a
+ Control.Monad.Random.Strict: data StdGen
+ Control.Monad.Random.Strict: genByteString :: RandomGen g => Int -> g -> (ByteString, g)
+ Control.Monad.Random.Strict: genRange :: RandomGen g => g -> (Int, Int)
+ Control.Monad.Random.Strict: genShortByteString :: RandomGen g => Int -> g -> (ShortByteString, g)
+ Control.Monad.Random.Strict: genWord16 :: RandomGen g => g -> (Word16, g)
+ Control.Monad.Random.Strict: genWord32 :: RandomGen g => g -> (Word32, g)
+ Control.Monad.Random.Strict: genWord32R :: RandomGen g => Word32 -> g -> (Word32, g)
+ Control.Monad.Random.Strict: genWord64 :: RandomGen g => g -> (Word64, g)
+ Control.Monad.Random.Strict: genWord64R :: RandomGen g => Word64 -> g -> (Word64, g)
+ Control.Monad.Random.Strict: genWord8 :: RandomGen g => g -> (Word8, g)
+ Control.Monad.Random.Strict: getStdGen :: MonadIO m => m StdGen
+ Control.Monad.Random.Strict: getStdRandom :: MonadIO m => (StdGen -> (a, StdGen)) -> m a
+ Control.Monad.Random.Strict: mkStdGen :: Int -> StdGen
+ Control.Monad.Random.Strict: newStdGen :: MonadIO m => m StdGen
+ Control.Monad.Random.Strict: next :: RandomGen g => g -> (Int, g)
+ Control.Monad.Random.Strict: random :: (Random a, RandomGen g) => g -> (a, g)
+ Control.Monad.Random.Strict: randomIO :: (Random a, MonadIO m) => m a
+ Control.Monad.Random.Strict: randomR :: (Random a, RandomGen g) => (a, a) -> g -> (a, g)
+ Control.Monad.Random.Strict: randomRIO :: (Random a, MonadIO m) => (a, a) -> m a
+ Control.Monad.Random.Strict: randomRs :: (Random a, RandomGen g) => (a, a) -> g -> [a]
+ Control.Monad.Random.Strict: randoms :: (Random a, RandomGen g) => g -> [a]
+ Control.Monad.Random.Strict: setStdGen :: MonadIO m => StdGen -> m ()
+ Control.Monad.Random.Strict: split :: RandomGen g => g -> (g, g)
+ Control.Monad.Trans.Random.Lazy: instance (GHC.Base.Monad m, System.Random.Internal.RandomGen g) => Control.Monad.Random.Class.MonadInterleave (Control.Monad.Trans.Random.Lazy.RandT g m)
+ Control.Monad.Trans.Random.Lazy: instance (System.Random.Internal.RandomGen g, GHC.Base.Monad m) => Control.Monad.Random.Class.MonadRandom (Control.Monad.Trans.Random.Lazy.RandT g m)
+ Control.Monad.Trans.Random.Lazy: instance (System.Random.Internal.RandomGen g, GHC.Base.Monad m) => Control.Monad.Random.Class.MonadSplit g (Control.Monad.Trans.Random.Lazy.RandT g m)
+ Control.Monad.Trans.Random.Strict: instance (GHC.Base.Monad m, System.Random.Internal.RandomGen g) => Control.Monad.Random.Class.MonadInterleave (Control.Monad.Trans.Random.Strict.RandT g m)
+ Control.Monad.Trans.Random.Strict: instance (System.Random.Internal.RandomGen g, GHC.Base.Monad m) => Control.Monad.Random.Class.MonadRandom (Control.Monad.Trans.Random.Strict.RandT g m)
+ Control.Monad.Trans.Random.Strict: instance (System.Random.Internal.RandomGen g, GHC.Base.Monad m) => Control.Monad.Random.Class.MonadSplit g (Control.Monad.Trans.Random.Strict.RandT g m)
Files
- CHANGES.markdown +6/−0
- Control/Monad/Random/Class.hs +11/−11
- Control/Monad/Random/Lazy.hs +1/−1
- Control/Monad/Random/Strict.hs +1/−1
- MonadRandom.cabal +3/−3
CHANGES.markdown view
@@ -1,3 +1,9 @@+0.5.2 (24 June 2020)+--------------------++- Support for `random-1.2`.+- Drop support for GHC 7.4, test with GHC 8.10.+ 0.5.1.2 (18 Jan 2020) ---------------------
Control/Monad/Random/Class.hs view
@@ -66,7 +66,7 @@ import qualified Control.Monad.Trans.State.Strict as StrictState import qualified Control.Monad.Trans.Writer.Lazy as LazyWriter import qualified Control.Monad.Trans.Writer.Strict as StrictWriter-import System.Random+import qualified System.Random as Random import qualified Data.Foldable as F @@ -91,7 +91,7 @@ -- interval. -- -- See 'System.Random.randomR' for details.- getRandomR :: (Random a) => (a, a) -> m a+ getRandomR :: (Random.Random a) => (a, a) -> m a -- | The same as 'getRandomR', but using a default range determined by the type: --@@ -104,25 +104,25 @@ -- * For 'Integer', the range is (arbitrarily) the range of 'Int'. -- -- See 'System.Random.random' for details.- getRandom :: (Random a) => m a+ getRandom :: (Random.Random a) => m a -- | Plural variant of 'getRandomR', producing an infinite list of -- random values instead of returning a new generator. -- -- See 'System.Random.randomRs' for details.- getRandomRs :: (Random a) => (a, a) -> m [a]+ getRandomRs :: (Random.Random a) => (a, a) -> m [a] -- | Plural variant of 'getRandom', producing an infinite list of -- random values instead of returning a new generator. -- -- See 'System.Random.randoms' for details.- getRandoms :: (Random a) => m [a]+ getRandoms :: (Random.Random a) => m [a] instance MonadRandom IO where- getRandomR = randomRIO- getRandom = randomIO- getRandomRs lohi = liftM (randomRs lohi) newStdGen- getRandoms = liftM randoms newStdGen+ getRandomR = Random.randomRIO+ getRandom = Random.randomIO+ getRandomRs lohi = liftM (Random.randomRs lohi) Random.newStdGen+ getRandoms = liftM Random.randoms Random.newStdGen instance (MonadRandom m) => MonadRandom (ContT r m) where getRandomR = lift . getRandomR@@ -221,8 +221,8 @@ -- See 'System.Random.split' for details. getSplit :: m g -instance MonadSplit StdGen IO where- getSplit = newStdGen+instance MonadSplit Random.StdGen IO where+ getSplit = Random.newStdGen instance (MonadSplit g m) => MonadSplit g (ContT r m) where getSplit = lift getSplit
Control/Monad/Random/Lazy.hs view
@@ -44,7 +44,7 @@ module Control.Monad.Trans, ) where -import System.Random+import System.Random hiding (uniform, uniformR) import Control.Monad.Random.Class
Control/Monad/Random/Strict.hs view
@@ -42,7 +42,7 @@ module Control.Monad.Trans, ) where -import System.Random+import System.Random hiding (uniform, uniformR) import Control.Monad.Random.Class
MonadRandom.cabal view
@@ -1,5 +1,5 @@ name: MonadRandom-version: 0.5.1.2+version: 0.5.2 synopsis: Random-number generation monad. description: Support for computations which consume random values. license: BSD3@@ -11,7 +11,7 @@ build-type: Simple cabal-version: >=1.10 extra-source-files: CHANGES.markdown-tested-with: GHC ==7.4.2 || ==7.6.3 || ==7.8.4 || ==7.10.3 || ==8.0.2 || ==8.2.2 || ==8.4.4 || ==8.6.5 || ==8.8.1+tested-with: GHC ==7.6.3 || ==7.8.4 || ==7.10.3 || ==8.0.2 || ==8.2.2 || ==8.4.4 || ==8.6.5 || ==8.8.3 || ==8.10.1 source-repository head type: git@@ -32,7 +32,7 @@ transformers-compat >=0.4 && <0.7, mtl >=2.1 && <2.3, primitive >=0.6 && <0.8,- random >=1.0 && <1.2+ random >=1.0 && <1.3 ghc-options: -Wall default-language: Haskell2010