MonadRandom 0.4.1 → 0.4.2
raw patch · 3 files changed
+12/−3 lines, 3 filesPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
+ Control.Monad.Random: instance (GHC.Base.Functor m, GHC.Base.MonadPlus m) => GHC.Base.Alternative (Control.Monad.Random.RandT g m)
+ Control.Monad.Random: instance GHC.Base.MonadPlus m => GHC.Base.MonadPlus (Control.Monad.Random.RandT g m)
Files
- CHANGES.markdown +5/−0
- Control/Monad/Random.hs +6/−2
- MonadRandom.cabal +1/−1
CHANGES.markdown view
@@ -1,3 +1,8 @@+0.4.2 (16 January 2016)+-----------------------++ - Add `MonadPlus` and `Alternative` instances for `RandT`.+ 0.4.1 (20 November 2015) ------------------------
Control/Monad/Random.hs view
@@ -72,11 +72,15 @@ -- | A monad transformer which adds a random number generator to an -- existing monad. newtype RandT g m a = RandT (StateT g m a)- deriving (Functor, Monad, MonadTrans, MonadIO, MonadFix, MonadReader r, MonadWriter w)+ deriving (Functor, Monad, MonadPlus, MonadTrans, MonadIO, MonadFix, MonadReader r, MonadWriter w) -instance (Functor m,Monad m) => Applicative (RandT g m) where+instance (Functor m, Monad m) => Applicative (RandT g m) where pure = return (<*>) = ap++instance (Functor m, MonadPlus m) => Alternative (RandT g m) where+ empty = mzero+ (<|>) = mplus -- | Lift arbitrary action to RandT liftRandT :: (g -> m (a, g)) -- ^ action returning value and new generator state
MonadRandom.cabal view
@@ -1,5 +1,5 @@ name: MonadRandom-version: 0.4.1+version: 0.4.2 synopsis: Random-number generation monad. description: Support for computations which consume random values. license: OtherLicense