packages feed

MonadRandom 0.1.6 → 0.1.7

raw patch · 2 files changed

+12/−2 lines, 2 filesnew-uploaderPVP: 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: data RandomGen g => RandT g m a
+ Control.Monad.Random: data RandT g m a

Files

Control/Monad/Random.hs view
@@ -42,6 +42,7 @@  import System.Random import Control.Monad()+import Control.Monad.Error import Control.Monad.Identity import Control.Monad.Random.Class import Control.Monad.Reader@@ -53,7 +54,7 @@  -- | A monad transformer which adds a random number generator to an -- existing monad.-newtype (RandomGen g) => RandT g m a = RandT (StateT g m a)+newtype RandT g m a = RandT (StateT g m a)     deriving (Functor, Monad, MonadTrans, MonadIO, MonadFix)  instance (Functor m,Monad m) => Applicative (RandT g m) where@@ -138,6 +139,12 @@     getRandoms = lift getRandoms     getRandomRs = lift . getRandomRs +instance (Error e, MonadRandom m) => MonadRandom (ErrorT e m) where+    getRandom = lift getRandom+    getRandomR = lift . getRandomR+    getRandoms = lift getRandoms+    getRandomRs = lift . getRandomRs+ instance (MonadSplit g m) => MonadSplit g (StateT s m) where     getSplit = lift getSplit @@ -145,6 +152,9 @@     getSplit = lift getSplit  instance (MonadSplit g m) => MonadSplit g (ReaderT r m) where+    getSplit = lift getSplit++instance (Error e, MonadSplit g m) => MonadSplit g (ErrorT e m) where     getSplit = lift getSplit  instance (MonadState s m, RandomGen g) => MonadState s (RandT g m) where
MonadRandom.cabal view
@@ -1,6 +1,6 @@ Name:                MonadRandom Build-type:          Simple-Version:             0.1.6+Version:             0.1.7 Synopsis:            Random-number generation monad. Description:         Support for computations which consume random values. License:             OtherLicense