BitStringRandomMonad-0.1.1.1

Safe HaskellNone
LanguageHaskell2010

Crypto.RandomMonad

Documentation

data RndT m a Source #

Instances

MonadTrans RndT Source # 

Methods

lift :: Monad m => m a -> RndT m a #

Monad m => Monad (RndT m) Source # 

Methods

(>>=) :: RndT m a -> (a -> RndT m b) -> RndT m b #

(>>) :: RndT m a -> RndT m b -> RndT m b #

return :: a -> RndT m a #

fail :: String -> RndT m a #

Functor m => Functor (RndT m) Source # 

Methods

fmap :: (a -> b) -> RndT m a -> RndT m b #

(<$) :: a -> RndT m b -> RndT m a #

Monad m => Applicative (RndT m) Source # 

Methods

pure :: a -> RndT m a #

(<*>) :: RndT m (a -> b) -> RndT m a -> RndT m b #

(*>) :: RndT m a -> RndT m b -> RndT m b #

(<*) :: RndT m a -> RndT m b -> RndT m a #

PrimMonad m => PrimMonad (RndT m) Source # 

Associated Types

type PrimState (RndT m :: * -> *) :: * #

Methods

primitive :: (State# (PrimState (RndT m)) -> (#VoidRep, PtrRepLifted, State# (PrimState (RndT m)), a#)) -> RndT m a #

type PrimState (RndT m) Source # 
type PrimState (RndT m) = PrimState m

type RndST s a = RndT (ST s) a Source #

type RndIO a = RndT IO a Source #

type Rnd a = RndT Identity a Source #

runRndT :: RndState -> RndT m a -> m (a, RndState) Source #