packages feed

MonadRandom 0.1.8 → 0.1.9

raw patch · 3 files changed

+48/−26 lines, 3 filesdep +transformersdep ~mtlPVP ok

version bump matches the API change (PVP)

Dependencies added: transformers

Dependency ranges changed: mtl

API changes (from Hackage documentation)

+ Control.Monad.Random: instance MonadRandom m => MonadRandom (MaybeT m)
+ Control.Monad.Random: instance MonadSplit g m => MonadSplit g (MaybeT m)

Files

+ CHANGES.markdown view
@@ -0,0 +1,4 @@+0.1.9 (26 April 2013)+---------------------++  - add MonadRandom and MonadSplit instances for MaybeT
Control/Monad/Random.hs view
@@ -1,6 +1,7 @@-{-# LANGUAGE MultiParamTypeClasses #-}-{-# LANGUAGE FlexibleInstances, UndecidableInstances #-}+{-# LANGUAGE FlexibleInstances          #-} {-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE MultiParamTypeClasses      #-}+{-# LANGUAGE UndecidableInstances       #-} {-# OPTIONS -fno-warn-orphans #-}  {- |@@ -40,17 +41,18 @@     -- $RandExample     ) where -import System.Random-import Control.Monad()-import Control.Monad.Error-import Control.Monad.Identity-import Control.Monad.Random.Class-import Control.Monad.Reader-import Control.Monad.State-import Control.Monad.Trans()-import Control.Monad.Writer-import Control.Arrow-import Control.Applicative+import           Control.Applicative+import           Control.Arrow+import           Control.Monad              ()+import           Control.Monad.Error+import           Control.Monad.Identity+import           Control.Monad.Random.Class+import           Control.Monad.Reader+import           Control.Monad.State+import           Control.Monad.Trans        ()+import           Control.Monad.Trans.Maybe+import           Control.Monad.Writer+import           System.Random  -- | A monad transformer which adds a random number generator to an -- existing monad.@@ -144,6 +146,12 @@     getRandoms = lift getRandoms     getRandomRs = lift . getRandomRs +instance (MonadRandom m) => MonadRandom (MaybeT 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 @@ -154,6 +162,9 @@     getSplit = lift getSplit  instance (Error e, MonadSplit g m) => MonadSplit g (ErrorT e m) where+    getSplit = lift getSplit++instance (MonadSplit g m) => MonadSplit g (MaybeT m) where     getSplit = lift getSplit  instance (MonadState s m, RandomGen g) => MonadState s (RandT g m) where
MonadRandom.cabal view
@@ -1,13 +1,20 @@-Name:                MonadRandom-Build-type:          Simple-Version:             0.1.8-Synopsis:            Random-number generation monad.-Description:         Support for computations which consume random values.-License:             OtherLicense-License-file:        LICENSE-Category:            Control-Author:              Cale Gibbard and others-Maintainer:          -Stability:           experimental-Build-Depends:       base >=2 && < 5, mtl, random-Exposed-modules:     Control.Monad.Random.Class, Control.Monad.Random+name:                MonadRandom+version:             0.1.9+synopsis:            Random-number generation monad.+description:         Support for computations which consume random values.+license:             OtherLicense+license-file:        LICENSE+author:              Cale Gibbard and others+maintainer:          Brent Yorgey <byorgey@gmail.com>+bug-reports:         https://github.com/byorgey/MonadRandom/issues+category:            Control+build-type:          Simple+cabal-version:       >=1.8+extra-source-files:  CHANGES.markdown+source-repository head+  type:     git+  location: git://github.com/byorgey/MonadRandom.git++library+  exposed-modules:     Control.Monad.Random, Control.Monad.Random.Class+  build-depends:       base >= 2 && < 5, transformers, mtl, random