MonadRandom 0.4 → 0.4.1
raw patch · 3 files changed
+19/−5 lines, 3 filesPVP: major bump suggested
API removals or changes: PVP suggests a major version bump
API changes (from Hackage documentation)
- Control.Monad.Random: instance (Error e, MonadRandom m) => MonadRandom (ErrorT e m)
- Control.Monad.Random: instance (Error e, MonadSplit g m) => MonadSplit g (ErrorT e m)
- Control.Monad.Random: instance (Functor m, Monad m) => Applicative (RandT g m)
- Control.Monad.Random: instance (Monad m, RandomGen g) => MonadRandom (RandT g m)
- Control.Monad.Random: instance (Monad m, RandomGen g) => MonadSplit g (RandT g m)
- Control.Monad.Random: instance (MonadRandom m, Monoid w) => MonadRandom (RWST r w s m)
- Control.Monad.Random: instance (MonadRandom m, Monoid w) => MonadRandom (WriterT w m)
- Control.Monad.Random: instance (MonadSplit g m, Monoid w) => MonadSplit g (RWST r w s m)
- Control.Monad.Random: instance (MonadSplit g m, Monoid w) => MonadSplit g (WriterT w m)
- Control.Monad.Random: instance Functor m => Functor (RandT g m)
- Control.Monad.Random: instance Monad m => Monad (RandT g m)
- Control.Monad.Random: instance MonadFix m => MonadFix (RandT g m)
- Control.Monad.Random: instance MonadIO m => MonadIO (RandT g m)
- Control.Monad.Random: instance MonadRandom IO
- Control.Monad.Random: instance MonadRandom m => MonadRandom (ContT r m)
- Control.Monad.Random: instance MonadRandom m => MonadRandom (ExceptT e m)
- Control.Monad.Random: instance MonadRandom m => MonadRandom (IdentityT m)
- Control.Monad.Random: instance MonadRandom m => MonadRandom (MaybeT m)
- Control.Monad.Random: instance MonadRandom m => MonadRandom (ReaderT r m)
- Control.Monad.Random: instance MonadRandom m => MonadRandom (StateT s m)
- Control.Monad.Random: instance MonadReader r m => MonadReader r (RandT g m)
- Control.Monad.Random: instance MonadSplit StdGen IO
- Control.Monad.Random: instance MonadSplit g m => MonadSplit g (ContT r m)
- Control.Monad.Random: instance MonadSplit g m => MonadSplit g (ExceptT e m)
- Control.Monad.Random: instance MonadSplit g m => MonadSplit g (IdentityT m)
- Control.Monad.Random: instance MonadSplit g m => MonadSplit g (MaybeT m)
- Control.Monad.Random: instance MonadSplit g m => MonadSplit g (ReaderT r m)
- Control.Monad.Random: instance MonadSplit g m => MonadSplit g (StateT s m)
- Control.Monad.Random: instance MonadState s m => MonadState s (RandT g m)
- Control.Monad.Random: instance MonadTrans (RandT g)
- Control.Monad.Random: instance MonadWriter w m => MonadWriter w (RandT g m)
+ Control.Monad.Random: instance (Control.Monad.Random.Class.MonadRandom m, GHC.Base.Monoid w) => Control.Monad.Random.Class.MonadRandom (Control.Monad.Trans.RWS.Lazy.RWST r w s m)
+ Control.Monad.Random: instance (Control.Monad.Random.Class.MonadRandom m, GHC.Base.Monoid w) => Control.Monad.Random.Class.MonadRandom (Control.Monad.Trans.RWS.Strict.RWST r w s m)
+ Control.Monad.Random: instance (Control.Monad.Random.Class.MonadRandom m, GHC.Base.Monoid w) => Control.Monad.Random.Class.MonadRandom (Control.Monad.Trans.Writer.Lazy.WriterT w m)
+ Control.Monad.Random: instance (Control.Monad.Random.Class.MonadRandom m, GHC.Base.Monoid w) => Control.Monad.Random.Class.MonadRandom (Control.Monad.Trans.Writer.Strict.WriterT w m)
+ Control.Monad.Random: instance (Control.Monad.Random.Class.MonadSplit g m, GHC.Base.Monoid w) => Control.Monad.Random.Class.MonadSplit g (Control.Monad.Trans.RWS.Lazy.RWST r w s m)
+ Control.Monad.Random: instance (Control.Monad.Random.Class.MonadSplit g m, GHC.Base.Monoid w) => Control.Monad.Random.Class.MonadSplit g (Control.Monad.Trans.RWS.Strict.RWST r w s m)
+ Control.Monad.Random: instance (Control.Monad.Random.Class.MonadSplit g m, GHC.Base.Monoid w) => Control.Monad.Random.Class.MonadSplit g (Control.Monad.Trans.Writer.Lazy.WriterT w m)
+ Control.Monad.Random: instance (Control.Monad.Random.Class.MonadSplit g m, GHC.Base.Monoid w) => Control.Monad.Random.Class.MonadSplit g (Control.Monad.Trans.Writer.Strict.WriterT w m)
+ Control.Monad.Random: instance (Control.Monad.Trans.Error.Error e, Control.Monad.Random.Class.MonadRandom m) => Control.Monad.Random.Class.MonadRandom (Control.Monad.Trans.Error.ErrorT e m)
+ Control.Monad.Random: instance (Control.Monad.Trans.Error.Error e, Control.Monad.Random.Class.MonadSplit g m) => Control.Monad.Random.Class.MonadSplit g (Control.Monad.Trans.Error.ErrorT e m)
+ Control.Monad.Random: instance (GHC.Base.Functor m, GHC.Base.Monad m) => GHC.Base.Applicative (Control.Monad.Random.RandT g m)
+ Control.Monad.Random: instance (GHC.Base.Monad m, System.Random.RandomGen g) => Control.Monad.Random.Class.MonadRandom (Control.Monad.Random.RandT g m)
+ Control.Monad.Random: instance (GHC.Base.Monad m, System.Random.RandomGen g) => Control.Monad.Random.Class.MonadSplit g (Control.Monad.Random.RandT g m)
+ Control.Monad.Random: instance Control.Monad.Fix.MonadFix m => Control.Monad.Fix.MonadFix (Control.Monad.Random.RandT g m)
+ Control.Monad.Random: instance Control.Monad.IO.Class.MonadIO m => Control.Monad.IO.Class.MonadIO (Control.Monad.Random.RandT g m)
+ Control.Monad.Random: instance Control.Monad.Random.Class.MonadRandom GHC.Types.IO
+ Control.Monad.Random: instance Control.Monad.Random.Class.MonadRandom m => Control.Monad.Random.Class.MonadRandom (Control.Monad.Trans.Cont.ContT r m)
+ Control.Monad.Random: instance Control.Monad.Random.Class.MonadRandom m => Control.Monad.Random.Class.MonadRandom (Control.Monad.Trans.Except.ExceptT e m)
+ Control.Monad.Random: instance Control.Monad.Random.Class.MonadRandom m => Control.Monad.Random.Class.MonadRandom (Control.Monad.Trans.Identity.IdentityT m)
+ Control.Monad.Random: instance Control.Monad.Random.Class.MonadRandom m => Control.Monad.Random.Class.MonadRandom (Control.Monad.Trans.Maybe.MaybeT m)
+ Control.Monad.Random: instance Control.Monad.Random.Class.MonadRandom m => Control.Monad.Random.Class.MonadRandom (Control.Monad.Trans.Reader.ReaderT r m)
+ Control.Monad.Random: instance Control.Monad.Random.Class.MonadRandom m => Control.Monad.Random.Class.MonadRandom (Control.Monad.Trans.State.Lazy.StateT s m)
+ Control.Monad.Random: instance Control.Monad.Random.Class.MonadRandom m => Control.Monad.Random.Class.MonadRandom (Control.Monad.Trans.State.Strict.StateT s m)
+ Control.Monad.Random: instance Control.Monad.Random.Class.MonadSplit System.Random.StdGen GHC.Types.IO
+ Control.Monad.Random: instance Control.Monad.Random.Class.MonadSplit g m => Control.Monad.Random.Class.MonadSplit g (Control.Monad.Trans.Cont.ContT r m)
+ Control.Monad.Random: instance Control.Monad.Random.Class.MonadSplit g m => Control.Monad.Random.Class.MonadSplit g (Control.Monad.Trans.Except.ExceptT e m)
+ Control.Monad.Random: instance Control.Monad.Random.Class.MonadSplit g m => Control.Monad.Random.Class.MonadSplit g (Control.Monad.Trans.Identity.IdentityT m)
+ Control.Monad.Random: instance Control.Monad.Random.Class.MonadSplit g m => Control.Monad.Random.Class.MonadSplit g (Control.Monad.Trans.Maybe.MaybeT m)
+ Control.Monad.Random: instance Control.Monad.Random.Class.MonadSplit g m => Control.Monad.Random.Class.MonadSplit g (Control.Monad.Trans.Reader.ReaderT r m)
+ Control.Monad.Random: instance Control.Monad.Random.Class.MonadSplit g m => Control.Monad.Random.Class.MonadSplit g (Control.Monad.Trans.State.Lazy.StateT s m)
+ Control.Monad.Random: instance Control.Monad.Random.Class.MonadSplit g m => Control.Monad.Random.Class.MonadSplit g (Control.Monad.Trans.State.Strict.StateT s m)
+ Control.Monad.Random: instance Control.Monad.Reader.Class.MonadReader r m => Control.Monad.Reader.Class.MonadReader r (Control.Monad.Random.RandT g m)
+ Control.Monad.Random: instance Control.Monad.State.Class.MonadState s m => Control.Monad.State.Class.MonadState s (Control.Monad.Random.RandT g m)
+ Control.Monad.Random: instance Control.Monad.Trans.Class.MonadTrans (Control.Monad.Random.RandT g)
+ Control.Monad.Random: instance Control.Monad.Writer.Class.MonadWriter w m => Control.Monad.Writer.Class.MonadWriter w (Control.Monad.Random.RandT g m)
+ Control.Monad.Random: instance GHC.Base.Functor m => GHC.Base.Functor (Control.Monad.Random.RandT g m)
+ Control.Monad.Random: instance GHC.Base.Monad m => GHC.Base.Monad (Control.Monad.Random.RandT g m)
- Control.Monad.Random: evalRandT :: Monad m => RandT g m a -> g -> m a
+ Control.Monad.Random: evalRandT :: (Monad m) => RandT g m a -> g -> m a
- Control.Monad.Random: fromList :: MonadRandom m => [(a, Rational)] -> m a
+ Control.Monad.Random: fromList :: (MonadRandom m) => [(a, Rational)] -> m a
- Control.Monad.Random: liftRandT :: Monad m => (g -> m (a, g)) -> RandT g m a
+ Control.Monad.Random: liftRandT :: (g -> m (a, g)) -> RandT g m a
- Control.Monad.Random: runRandT :: Monad m => RandT g m a -> g -> m (a, g)
+ Control.Monad.Random: runRandT :: RandT g m a -> g -> m (a, g)
- Control.Monad.Random: uniform :: MonadRandom m => [a] -> m a
+ Control.Monad.Random: uniform :: (MonadRandom m) => [a] -> m a
- Control.Monad.Random.Class: class Monad m => MonadRandom m
+ Control.Monad.Random.Class: class (Monad m) => MonadRandom m
- Control.Monad.Random.Class: class Monad m => MonadSplit s m | m -> s
+ Control.Monad.Random.Class: class (Monad m) => MonadSplit s m | m -> s
Files
- CHANGES.markdown +11/−0
- Control/Monad/Random.hs +2/−3
- MonadRandom.cabal +6/−2
CHANGES.markdown view
@@ -1,3 +1,14 @@+0.4.1 (20 November 2015)+------------------------++ - Remove unnecessary `Monad m` constraint from `liftRandT` and+ `runRandT`.++ This should again technically require a major version bump, but I'm+ not doing it this time in the interest of not being super annoying.+ If this breaks something for you, just yell, and I will+ deprecate this version and do a proper 0.5 release.+ 0.4 (12 May 2015) -----------------
Control/Monad/Random.hs view
@@ -79,8 +79,7 @@ (<*>) = ap -- | Lift arbitrary action to RandT-liftRandT :: (Monad m) =>- (g -> m (a, g)) -- ^ action returning value and new generator state+liftRandT :: (g -> m (a, g)) -- ^ action returning value and new generator state -> RandT g m a liftRandT = RandT . StateT @@ -107,7 +106,7 @@ -- | Run a RandT computation using the generator @g@, returning the result and -- the updated generator.-runRandT :: (Monad m) => RandT g m a -> g -> m (a, g)+runRandT :: RandT g m a -> g -> m (a, g) runRandT (RandT x) g = runStateT x g -- | A basic random monad.
MonadRandom.cabal view
@@ -1,5 +1,5 @@ name: MonadRandom-version: 0.4+version: 0.4.1 synopsis: Random-number generation monad. description: Support for computations which consume random values. license: OtherLicense@@ -17,6 +17,10 @@ library exposed-modules: Control.Monad.Random, Control.Monad.Random.Class- build-depends: base >= 2 && < 5, transformers >= 0.3 && < 0.5, transformers-compat == 0.4.*, mtl, random+ build-depends: base >= 2 && < 5,+ transformers >= 0.3 && < 0.5,+ transformers-compat == 0.4.*,+ mtl >= 2.1 && < 2.3,+ random ghc-options: -Wall default-language: Haskell2010