packages feed

monadcryptorandom 0.3 → 0.3.1

raw patch · 2 files changed

+15/−10 lines, 2 filesdep ~basePVP ok

version bump matches the API change (PVP)

Dependency ranges changed: base

API changes (from Hackage documentation)

+ Control.Monad.CryptoRandom: instance (Functor m, Monad m, Error e) => Applicative (CRandT g e m)
+ Control.Monad.CryptoRandom: instance (MonadFix m, Error e) => MonadFix (CRandT g e m)
+ Control.Monad.CryptoRandom: instance Functor m => Functor (CRandT g e m)

Files

Control/Monad/CryptoRandom.hs view
@@ -21,18 +21,19 @@         , evalCRand         ) where -import Crypto.Random (CryptoRandomGen(..), GenError(..))-import qualified Data.ByteString as B-import Data.Bits (xor, setBit, shiftR, shiftL, (.&.))-import Data.List (foldl')-import Data.Word-import Data.Int+import Control.Applicative import Control.Arrow (right, left) import Control.Monad (liftM)-import Control.Monad.Identity import Control.Monad.Error-import Control.Monad.State import Control.Monad.IO.Class+import Control.Monad.Identity+import Control.Monad.State+import Crypto.Random (CryptoRandomGen(..), GenError(..))+import Data.Bits (xor, setBit, shiftR, shiftL, (.&.))+import Data.Int+import Data.List (foldl')+import Data.Word+import qualified Data.ByteString as B  -- |@MonadCryptoRandom m@ represents a monad that can produce -- random values (or fail with a 'GenError').  It is suggestd@@ -140,7 +141,11 @@                 Left x -> throwError (fromGenError x)  -- |CRandT is the transformer suggested for MonadCryptoRandom.-newtype CRandT g e m a = CRandT { unCRandT :: StateT g (ErrorT e m) a } deriving (MonadError e, Monad, MonadIO)+newtype CRandT g e m a = CRandT { unCRandT :: StateT g (ErrorT e m) a } deriving (MonadError e, Monad, MonadIO, Functor, MonadFix)++instance (Functor m,Monad m,Error e) => Applicative (CRandT g e m) where+  pure = return+  (<*>) = ap  instance (Error e) => MonadTrans (CRandT g e) where 	lift = CRandT . lift . lift
monadcryptorandom.cabal view
@@ -1,5 +1,5 @@ name:           monadcryptorandom-version:        0.3+version:        0.3.1 license:        BSD3 license-file:   LICENSE copyright:      Thomas DuBuisson <thomas.dubuisson@gmail.com>