MonadRandom 0.2 → 0.2.0.1
raw patch · 3 files changed
+29/−21 lines, 3 filesdep ~transformersPVP: major bump suggested
API removals or changes: PVP suggests a major version bump
Dependency ranges changed: transformers
API changes (from Hackage documentation)
- Control.Monad.Random: instance MonadRandom m => MonadRandom (ExceptT e m)
- Control.Monad.Random: instance MonadSplit g m => MonadSplit g (ExceptT e m)
Files
- CHANGES.markdown +5/−0
- Control/Monad/Random.hs +22/−19
- MonadRandom.cabal +2/−2
CHANGES.markdown view
@@ -1,3 +1,8 @@+0.2.0.1 (24 August 2014)+------------------------++ - Allow building with both transformers-0.3 and 0.4.+ 0.2 (20 August 2014) --------------------
Control/Monad/Random.hs view
@@ -1,3 +1,4 @@+{-# LANGUAGE CPP #-} {-# LANGUAGE FlexibleInstances #-} {-# LANGUAGE GeneralizedNewtypeDeriving #-} {-# LANGUAGE MultiParamTypeClasses #-}@@ -47,25 +48,28 @@ import Control.Applicative import Control.Arrow-import Control.Monad ()+import Control.Monad () import Control.Monad.Cont-import Control.Monad.Error+#if MIN_VERSION_transformers(0,4,0) import Control.Monad.Except+#else+import Control.Monad.Error+#endif import Control.Monad.Identity import Control.Monad.Random.Class import Control.Monad.Reader-import qualified Control.Monad.RWS.Lazy as RWSL-import qualified Control.Monad.RWS.Strict as RWSS+import qualified Control.Monad.RWS.Lazy as RWSL+import qualified Control.Monad.RWS.Strict as RWSS import Control.Monad.State-import qualified Control.Monad.State.Lazy as SL-import qualified Control.Monad.State.Strict as SS-import Control.Monad.Trans ()+import qualified Control.Monad.State.Lazy as SL+import qualified Control.Monad.State.Strict as SS+import Control.Monad.Trans () import Control.Monad.Trans.Identity import Control.Monad.Trans.Maybe import Control.Monad.Writer.Class-import qualified Control.Monad.Writer.Lazy as WL-import qualified Control.Monad.Writer.Strict as WS-import Data.Monoid (Monoid)+import qualified Control.Monad.Writer.Lazy as WL+import qualified Control.Monad.Writer.Strict as WS+import Data.Monoid (Monoid) import System.Random -- | A monad transformer which adds a random number generator to an@@ -199,13 +203,11 @@ 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-+#if MIN_VERSION_transformers(0,4,0) instance (MonadRandom m) => MonadRandom (ExceptT e m) where+#else+instance (Error e, MonadRandom m) => MonadRandom (ErrorT e m) where+#endif getRandom = lift getRandom getRandomR = lift . getRandomR getRandoms = lift getRandoms@@ -247,10 +249,11 @@ instance (MonadSplit g m, Monoid w) => MonadSplit g (RWSS.RWST r w s m) where getSplit = lift getSplit -instance (Error e, MonadSplit g m) => MonadSplit g (ErrorT e m) where- getSplit = lift getSplit-+#if MIN_VERSION_transformers(0,4,0) instance (MonadSplit g m) => MonadSplit g (ExceptT e m) where+#else+instance (Error e, MonadSplit g m) => MonadSplit g (ErrorT e m) where+#endif getSplit = lift getSplit instance (MonadSplit g m) => MonadSplit g (MaybeT m) where
MonadRandom.cabal view
@@ -1,5 +1,5 @@ name: MonadRandom-version: 0.2+version: 0.2.0.1 synopsis: Random-number generation monad. description: Support for computations which consume random values. license: OtherLicense@@ -17,6 +17,6 @@ library exposed-modules: Control.Monad.Random, Control.Monad.Random.Class- build-depends: base >= 2 && < 5, transformers >= 0.4, mtl, random+ build-depends: base >= 2 && < 5, transformers >= 0.3 && < 0.5, mtl, random ghc-options: -Wall default-language: Haskell2010