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 +14/−9
- monadcryptorandom.cabal +1/−1
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>