| Copyright | (c) Brent Yorgey 2016 |
|---|---|
| License | BSD3 (see LICENSE) |
| Maintainer | byorgey@gmail.com |
| Stability | experimental |
| Portability | non-portable (multi-param classes, functional dependencies, undecidable instances) |
| Safe Haskell | Safe |
| Language | Haskell2010 |
Control.Monad.Random.Lazy
Description
Random monads that are lazy in the generator state. For a strict version, see Control.Monad.Random.Strict, which has the same interface.
Synopsis
- type Rand g = RandT g Identity
- liftRand :: (g -> (a, g)) -> Rand g a
- runRand :: Rand g a -> g -> (a, g)
- evalRand :: Rand g a -> g -> a
- execRand :: Rand g a -> g -> g
- mapRand :: ((a, g) -> (b, g)) -> Rand g a -> Rand g b
- withRand :: (g -> g) -> Rand g a -> Rand g a
- evalRandIO :: Rand StdGen a -> IO a
- data RandT g (m :: Type -> Type) a
- liftRandT :: (g -> m (a, g)) -> RandT g m a
- runRandT :: RandT g m a -> g -> m (a, g)
- evalRandT :: Monad m => RandT g m a -> g -> m a
- execRandT :: Monad m => RandT g m a -> g -> m g
- mapRandT :: (m (a, g) -> n (b, g)) -> RandT g m a -> RandT g n b
- withRandT :: forall g (m :: Type -> Type) a. (g -> g) -> RandT g m a -> RandT g m a
- evalRandTIO :: MonadIO m => RandT StdGen m a -> m a
- class Random a where
- class Finite a
- class RandomGen g where
- next :: g -> (Int, g)
- genWord8 :: g -> (Word8, g)
- genWord16 :: g -> (Word16, g)
- genWord32 :: g -> (Word32, g)
- genWord64 :: g -> (Word64, g)
- genWord32R :: Word32 -> g -> (Word32, g)
- genWord64R :: Word64 -> g -> (Word64, g)
- genShortByteString :: Int -> g -> (ShortByteString, g)
- genRange :: g -> (Int, Int)
- split :: g -> (g, g)
- data StdGen
- class Uniform a
- class UniformRange a
- mkStdGen :: Int -> StdGen
- genByteString :: RandomGen g => Int -> g -> (ByteString, g)
- getStdGen :: MonadIO m => m StdGen
- getStdRandom :: MonadIO m => (StdGen -> (a, StdGen)) -> m a
- initStdGen :: MonadIO m => m StdGen
- newStdGen :: MonadIO m => m StdGen
- randomIO :: (Random a, MonadIO m) => m a
- randomRIO :: (Random a, MonadIO m) => (a, a) -> m a
- setStdGen :: MonadIO m => StdGen -> m ()
- module Control.Monad.Random.Class
- class Applicative m => Monad (m :: Type -> Type) where
- liftM :: Monad m => (a1 -> r) -> m a1 -> m r
- class (Alternative m, Monad m) => MonadPlus (m :: Type -> Type) where
- class Functor (f :: Type -> Type) where
- (=<<) :: Monad m => (a -> m b) -> m a -> m b
- mapM_ :: (Foldable t, Monad m) => (a -> m b) -> t a -> m ()
- sequence_ :: (Foldable t, Monad m) => t (m a) -> m ()
- mapM :: (Traversable t, Monad m) => (a -> m b) -> t a -> m (t b)
- sequence :: (Traversable t, Monad m) => t (m a) -> m (t a)
- join :: Monad m => m (m a) -> m a
- ap :: Monad m => m (a -> b) -> m a -> m b
- liftM2 :: Monad m => (a1 -> a2 -> r) -> m a1 -> m a2 -> m r
- liftM3 :: Monad m => (a1 -> a2 -> a3 -> r) -> m a1 -> m a2 -> m a3 -> m r
- liftM4 :: Monad m => (a1 -> a2 -> a3 -> a4 -> r) -> m a1 -> m a2 -> m a3 -> m a4 -> m r
- liftM5 :: Monad m => (a1 -> a2 -> a3 -> a4 -> a5 -> r) -> m a1 -> m a2 -> m a3 -> m a4 -> m a5 -> m r
- when :: Applicative f => Bool -> f () -> f ()
- (<$!>) :: Monad m => (a -> b) -> m a -> m b
- (<=<) :: Monad m => (b -> m c) -> (a -> m b) -> a -> m c
- (>=>) :: Monad m => (a -> m b) -> (b -> m c) -> a -> m c
- filterM :: Applicative m => (a -> m Bool) -> [a] -> m [a]
- foldM :: (Foldable t, Monad m) => (b -> a -> m b) -> b -> t a -> m b
- foldM_ :: (Foldable t, Monad m) => (b -> a -> m b) -> b -> t a -> m ()
- forever :: Applicative f => f a -> f b
- mapAndUnzipM :: Applicative m => (a -> m (b, c)) -> [a] -> m ([b], [c])
- mfilter :: MonadPlus m => (a -> Bool) -> m a -> m a
- replicateM :: Applicative m => Int -> m a -> m [a]
- replicateM_ :: Applicative m => Int -> m a -> m ()
- unless :: Applicative f => Bool -> f () -> f ()
- zipWithM :: Applicative m => (a -> b -> m c) -> [a] -> [b] -> m [c]
- zipWithM_ :: Applicative m => (a -> b -> m c) -> [a] -> [b] -> m ()
- forM_ :: (Foldable t, Monad m) => t a -> (a -> m b) -> m ()
- msum :: (Foldable t, MonadPlus m) => t (m a) -> m a
- void :: Functor f => f a -> f ()
- forM :: (Traversable t, Monad m) => t a -> (a -> m b) -> m (t b)
- guard :: Alternative f => Bool -> f ()
- class Monad m => MonadFail (m :: Type -> Type) where
- fail :: String -> m a
- class Monad m => MonadFix (m :: Type -> Type) where
- mfix :: (a -> m a) -> m a
- fix :: (a -> a) -> a
- class Monad m => MonadIO (m :: Type -> Type) where
- liftIO :: IO a -> m a
- class (forall (m :: Type -> Type). Monad m => Monad (t m)) => MonadTrans (t :: (Type -> Type) -> Type -> Type) where
The Rand monad
Arguments
| :: (g -> (a, g)) | pure random transformer |
| -> Rand g a | equivalent generator-passing computation |
Construct a random monad computation from a function.
(The inverse of runRand.)
Arguments
| :: Rand g a | generator-passing computation to execute |
| -> g | initial generator |
| -> (a, g) | return value and final generator |
Unwrap a random monad computation as a function.
(The inverse of liftRand.)
Arguments
| :: Rand g a | generator-passing computation to execute |
| -> g | initial generator |
| -> a | return value of the random computation |
Arguments
| :: Rand g a | generator-passing computation to execute |
| -> g | initial generator |
| -> g | final generator |
evalRandIO :: Rand StdGen a -> IO a Source #
Evaluate a random computation in the IO monad, splitting the global
standard generator to get a new one for the computation.
The RandT monad transformer
data RandT g (m :: Type -> Type) a Source #
A random transformer monad parameterized by:
g- The generator.m- The inner monad.
The return function leaves the generator unchanged, while >>= uses the
final generator of the first computation as the initial generator of the
second.
Instances
| (MonadReader r m, MonadWriter w m, MonadState s m) => MonadRWS r w s (RandT g m) Source # | |||||
Defined in Control.Monad.Trans.Random.Lazy | |||||
| (RandomGen g, Monad m) => MonadSplit g (RandT g m) Source # | |||||
Defined in Control.Monad.Trans.Random.Lazy | |||||
| MonadError e m => MonadError e (RandT g m) Source # | |||||
Defined in Control.Monad.Trans.Random.Lazy | |||||
| MonadReader r m => MonadReader r (RandT g m) Source # | |||||
| MonadState s m => MonadState s (RandT g m) Source # | |||||
| MonadWriter w m => MonadWriter w (RandT g m) Source # | |||||
| MonadTrans (RandT g) Source # | |||||
Defined in Control.Monad.Trans.Random.Lazy | |||||
| (Monad m, RandomGen g) => RandomGenM (RandGen g) g (RandT g m) Source # | Since: 0.5.3 | ||||
Defined in Control.Monad.Trans.Random.Lazy Methods applyRandomGenM :: (g -> (a, g)) -> RandGen g -> RandT g m a | |||||
| (Monad m, RandomGen g) => StatefulGen (RandGen g) (RandT g m) Source # | Since: 0.5.3 | ||||
Defined in Control.Monad.Trans.Random.Lazy Methods uniformWord32R :: Word32 -> RandGen g -> RandT g m Word32 uniformWord64R :: Word64 -> RandGen g -> RandT g m Word64 uniformWord8 :: RandGen g -> RandT g m Word8 uniformWord16 :: RandGen g -> RandT g m Word16 uniformWord32 :: RandGen g -> RandT g m Word32 uniformWord64 :: RandGen g -> RandT g m Word64 uniformShortByteString :: Int -> RandGen g -> RandT g m ShortByteString | |||||
| (Monad m, RandomGen g) => MonadInterleave (RandT g m) Source # | |||||
Defined in Control.Monad.Trans.Random.Lazy Methods interleave :: RandT g m a -> RandT g m a Source # | |||||
| (RandomGen g, Monad m) => MonadRandom (RandT g m) Source # | |||||
| MonadIO m => MonadIO (RandT g m) Source # | |||||
Defined in Control.Monad.Trans.Random.Lazy | |||||
| MonadPlus m => Alternative (RandT g m) Source # | |||||
| Monad m => Applicative (RandT g m) Source # | |||||
| Functor m => Functor (RandT g m) Source # | |||||
| Monad m => Monad (RandT g m) Source # | |||||
| MonadPlus m => MonadPlus (RandT g m) Source # | |||||
| MonadFail m => MonadFail (RandT g m) Source # | |||||
Defined in Control.Monad.Trans.Random.Lazy | |||||
| MonadFix m => MonadFix (RandT g m) Source # | |||||
Defined in Control.Monad.Trans.Random.Lazy | |||||
| MonadCont m => MonadCont (RandT g m) Source # | |||||
Defined in Control.Monad.Trans.Random.Lazy | |||||
| PrimMonad m => PrimMonad (RandT s m) Source # | |||||
Defined in Control.Monad.Trans.Random.Lazy Associated Types
| |||||
| type PrimState (RandT s m) Source # | |||||
Defined in Control.Monad.Trans.Random.Lazy type PrimState (RandT s m) = PrimState m | |||||
Arguments
| :: (g -> m (a, g)) | impure random transformer |
| -> RandT g m a | equivalent generator-passing computation |
Construct a random monad computation from an impure function.
(The inverse of runRandT.)
Arguments
| :: RandT g m a | generator-passing computation to execute |
| -> g | initial generator |
| -> m (a, g) | return value and final generator |
Unwrap a random monad computation as an impure function.
(The inverse of liftRandT.)
evalRandTIO :: MonadIO m => RandT StdGen m a -> m a Source #
Evaluate a random computation that is embedded in the IO monad,
splitting the global standard generator to get a new one for the
computation.
Some convenience re-exports
Minimal complete definition
Nothing
Methods
randomR :: RandomGen g => (a, a) -> g -> (a, g) #
random :: RandomGen g => g -> (a, g) #
Instances
| Random CBool | |
| Random CChar | |
| Random CDouble | |
| Random CFloat | |
| Random CInt | |
| Random CIntMax | |
| Random CIntPtr | |
| Random CLLong | |
| Random CLong | |
| Random CPtrdiff | |
| Random CSChar | |
| Random CShort | |
| Random CSigAtomic | |
| Random CSize | |
| Random CUChar | |
| Random CUInt | |
| Random CUIntMax | |
| Random CUIntPtr | |
| Random CULLong | |
| Random CULong | |
| Random CUShort | |
| Random CWchar | |
| Random Int16 | |
| Random Int32 | |
| Random Int64 | |
| Random Int8 | |
| Random Word16 | |
| Random Word32 | |
| Random Word64 | |
| Random Word8 | |
| Random Integer | |
| Random Bool | |
| Random Char | |
| Random Double | |
| Random Float | |
| Random Int | |
| Random Word | |
| (Random a, Random b) => Random (a, b) | |
| (Random a, Random b, Random c) => Random (a, b, c) | |
| (Random a, Random b, Random c, Random d) => Random (a, b, c, d) | |
| (Random a, Random b, Random c, Random d, Random e) => Random (a, b, c, d, e) | |
Defined in System.Random | |
| (Random a, Random b, Random c, Random d, Random e, Random f) => Random (a, b, c, d, e, f) | |
| (Random a, Random b, Random c, Random d, Random e, Random f, Random g) => Random (a, b, c, d, e, f, g) | |
Defined in System.Random | |
Instances
| Finite Void | |
Defined in System.Random.GFinite Methods cardinality :: Proxy# Void -> Cardinality toFinite :: Integer -> Void fromFinite :: Void -> Integer | |
| Finite Int16 | |
Defined in System.Random.GFinite Methods cardinality :: Proxy# Int16 -> Cardinality toFinite :: Integer -> Int16 fromFinite :: Int16 -> Integer | |
| Finite Int32 | |
Defined in System.Random.GFinite Methods cardinality :: Proxy# Int32 -> Cardinality toFinite :: Integer -> Int32 fromFinite :: Int32 -> Integer | |
| Finite Int64 | |
Defined in System.Random.GFinite Methods cardinality :: Proxy# Int64 -> Cardinality toFinite :: Integer -> Int64 fromFinite :: Int64 -> Integer | |
| Finite Int8 | |
Defined in System.Random.GFinite Methods cardinality :: Proxy# Int8 -> Cardinality toFinite :: Integer -> Int8 fromFinite :: Int8 -> Integer | |
| Finite Word16 | |
Defined in System.Random.GFinite Methods cardinality :: Proxy# Word16 -> Cardinality toFinite :: Integer -> Word16 fromFinite :: Word16 -> Integer | |
| Finite Word32 | |
Defined in System.Random.GFinite Methods cardinality :: Proxy# Word32 -> Cardinality toFinite :: Integer -> Word32 fromFinite :: Word32 -> Integer | |
| Finite Word64 | |
Defined in System.Random.GFinite Methods cardinality :: Proxy# Word64 -> Cardinality toFinite :: Integer -> Word64 fromFinite :: Word64 -> Integer | |
| Finite Word8 | |
Defined in System.Random.GFinite Methods cardinality :: Proxy# Word8 -> Cardinality toFinite :: Integer -> Word8 fromFinite :: Word8 -> Integer | |
| Finite Ordering | |
Defined in System.Random.GFinite Methods cardinality :: Proxy# Ordering -> Cardinality toFinite :: Integer -> Ordering fromFinite :: Ordering -> Integer | |
| Finite () | |
Defined in System.Random.GFinite | |
| Finite Bool | |
Defined in System.Random.GFinite Methods cardinality :: Proxy# Bool -> Cardinality toFinite :: Integer -> Bool fromFinite :: Bool -> Integer | |
| Finite Char | |
Defined in System.Random.GFinite Methods cardinality :: Proxy# Char -> Cardinality toFinite :: Integer -> Char fromFinite :: Char -> Integer | |
| Finite Int | |
Defined in System.Random.GFinite Methods cardinality :: Proxy# Int -> Cardinality toFinite :: Integer -> Int fromFinite :: Int -> Integer | |
| Finite Word | |
Defined in System.Random.GFinite Methods cardinality :: Proxy# Word -> Cardinality toFinite :: Integer -> Word fromFinite :: Word -> Integer | |
| Finite a => Finite (Maybe a) | |
Defined in System.Random.GFinite Methods cardinality :: Proxy# (Maybe a) -> Cardinality toFinite :: Integer -> Maybe a fromFinite :: Maybe a -> Integer | |
| (Finite a, Finite b) => Finite (Either a b) | |
Defined in System.Random.GFinite Methods cardinality :: Proxy# (Either a b) -> Cardinality toFinite :: Integer -> Either a b fromFinite :: Either a b -> Integer | |
| (Finite a, Finite b) => Finite (a, b) | |
Defined in System.Random.GFinite Methods cardinality :: Proxy# (a, b) -> Cardinality toFinite :: Integer -> (a, b) fromFinite :: (a, b) -> Integer | |
| (Finite a, Finite b, Finite c) => Finite (a, b, c) | |
Defined in System.Random.GFinite Methods cardinality :: Proxy# (a, b, c) -> Cardinality toFinite :: Integer -> (a, b, c) fromFinite :: (a, b, c) -> Integer | |
| (Finite a, Finite b, Finite c, Finite d) => Finite (a, b, c, d) | |
Defined in System.Random.GFinite Methods cardinality :: Proxy# (a, b, c, d) -> Cardinality toFinite :: Integer -> (a, b, c, d) fromFinite :: (a, b, c, d) -> Integer | |
| (Finite a, Finite b, Finite c, Finite d, Finite e) => Finite (a, b, c, d, e) | |
Defined in System.Random.GFinite Methods cardinality :: Proxy# (a, b, c, d, e) -> Cardinality toFinite :: Integer -> (a, b, c, d, e) fromFinite :: (a, b, c, d, e) -> Integer | |
| (Finite a, Finite b, Finite c, Finite d, Finite e, Finite f) => Finite (a, b, c, d, e, f) | |
Defined in System.Random.GFinite Methods cardinality :: Proxy# (a, b, c, d, e, f) -> Cardinality toFinite :: Integer -> (a, b, c, d, e, f) fromFinite :: (a, b, c, d, e, f) -> Integer | |
Methods
genWord16 :: g -> (Word16, g) #
genWord32 :: g -> (Word32, g) #
genWord64 :: g -> (Word64, g) #
genWord32R :: Word32 -> g -> (Word32, g) #
genWord64R :: Word64 -> g -> (Word64, g) #
genShortByteString :: Int -> g -> (ShortByteString, g) #
Instances
| RandomGen StdGen | |
Defined in System.Random.Internal Methods next :: StdGen -> (Int, StdGen) # genWord8 :: StdGen -> (Word8, StdGen) # genWord16 :: StdGen -> (Word16, StdGen) # genWord32 :: StdGen -> (Word32, StdGen) # genWord64 :: StdGen -> (Word64, StdGen) # genWord32R :: Word32 -> StdGen -> (Word32, StdGen) # genWord64R :: Word64 -> StdGen -> (Word64, StdGen) # genShortByteString :: Int -> StdGen -> (ShortByteString, StdGen) # | |
| RandomGen SMGen | |
Defined in System.Random.Internal Methods next :: SMGen -> (Int, SMGen) # genWord8 :: SMGen -> (Word8, SMGen) # genWord16 :: SMGen -> (Word16, SMGen) # genWord32 :: SMGen -> (Word32, SMGen) # genWord64 :: SMGen -> (Word64, SMGen) # genWord32R :: Word32 -> SMGen -> (Word32, SMGen) # genWord64R :: Word64 -> SMGen -> (Word64, SMGen) # genShortByteString :: Int -> SMGen -> (ShortByteString, SMGen) # | |
| RandomGen SMGen | |
Defined in System.Random.Internal Methods next :: SMGen -> (Int, SMGen) # genWord8 :: SMGen -> (Word8, SMGen) # genWord16 :: SMGen -> (Word16, SMGen) # genWord32 :: SMGen -> (Word32, SMGen) # genWord64 :: SMGen -> (Word64, SMGen) # genWord32R :: Word32 -> SMGen -> (Word32, SMGen) # genWord64R :: Word64 -> SMGen -> (Word64, SMGen) # genShortByteString :: Int -> SMGen -> (ShortByteString, SMGen) # | |
| RandomGen g => RandomGen (StateGen g) | |
Defined in System.Random.Internal Methods next :: StateGen g -> (Int, StateGen g) # genWord8 :: StateGen g -> (Word8, StateGen g) # genWord16 :: StateGen g -> (Word16, StateGen g) # genWord32 :: StateGen g -> (Word32, StateGen g) # genWord64 :: StateGen g -> (Word64, StateGen g) # genWord32R :: Word32 -> StateGen g -> (Word32, StateGen g) # genWord64R :: Word64 -> StateGen g -> (Word64, StateGen g) # genShortByteString :: Int -> StateGen g -> (ShortByteString, StateGen g) # | |
| RandomGen g => RandomGen (AtomicGen g) | |
Defined in System.Random.Stateful Methods next :: AtomicGen g -> (Int, AtomicGen g) # genWord8 :: AtomicGen g -> (Word8, AtomicGen g) # genWord16 :: AtomicGen g -> (Word16, AtomicGen g) # genWord32 :: AtomicGen g -> (Word32, AtomicGen g) # genWord64 :: AtomicGen g -> (Word64, AtomicGen g) # genWord32R :: Word32 -> AtomicGen g -> (Word32, AtomicGen g) # genWord64R :: Word64 -> AtomicGen g -> (Word64, AtomicGen g) # genShortByteString :: Int -> AtomicGen g -> (ShortByteString, AtomicGen g) # | |
| RandomGen g => RandomGen (IOGen g) | |
Defined in System.Random.Stateful Methods next :: IOGen g -> (Int, IOGen g) # genWord8 :: IOGen g -> (Word8, IOGen g) # genWord16 :: IOGen g -> (Word16, IOGen g) # genWord32 :: IOGen g -> (Word32, IOGen g) # genWord64 :: IOGen g -> (Word64, IOGen g) # genWord32R :: Word32 -> IOGen g -> (Word32, IOGen g) # genWord64R :: Word64 -> IOGen g -> (Word64, IOGen g) # genShortByteString :: Int -> IOGen g -> (ShortByteString, IOGen g) # | |
| RandomGen g => RandomGen (STGen g) | |
Defined in System.Random.Stateful Methods next :: STGen g -> (Int, STGen g) # genWord8 :: STGen g -> (Word8, STGen g) # genWord16 :: STGen g -> (Word16, STGen g) # genWord32 :: STGen g -> (Word32, STGen g) # genWord64 :: STGen g -> (Word64, STGen g) # genWord32R :: Word32 -> STGen g -> (Word32, STGen g) # genWord64R :: Word64 -> STGen g -> (Word64, STGen g) # genShortByteString :: Int -> STGen g -> (ShortByteString, STGen g) # | |
| RandomGen g => RandomGen (TGen g) | |
Defined in System.Random.Stateful Methods next :: TGen g -> (Int, TGen g) # genWord8 :: TGen g -> (Word8, TGen g) # genWord16 :: TGen g -> (Word16, TGen g) # genWord32 :: TGen g -> (Word32, TGen g) # genWord64 :: TGen g -> (Word64, TGen g) # genWord32R :: Word32 -> TGen g -> (Word32, TGen g) # genWord64R :: Word64 -> TGen g -> (Word64, TGen g) # genShortByteString :: Int -> TGen g -> (ShortByteString, TGen g) # | |
Instances
| NFData StdGen | |
Defined in System.Random.Internal | |
| Show StdGen | |
| Eq StdGen | |
| RandomGen StdGen | |
Defined in System.Random.Internal Methods next :: StdGen -> (Int, StdGen) # genWord8 :: StdGen -> (Word8, StdGen) # genWord16 :: StdGen -> (Word16, StdGen) # genWord32 :: StdGen -> (Word32, StdGen) # genWord64 :: StdGen -> (Word64, StdGen) # genWord32R :: Word32 -> StdGen -> (Word32, StdGen) # genWord64R :: Word64 -> StdGen -> (Word64, StdGen) # genShortByteString :: Int -> StdGen -> (ShortByteString, StdGen) # | |
| MonadSplit StdGen IO Source # | |
Defined in Control.Monad.Random.Class | |
Instances
| Uniform CBool | |
Defined in System.Random.Internal Methods uniformM :: StatefulGen g m => g -> m CBool | |
| Uniform CChar | |
Defined in System.Random.Internal Methods uniformM :: StatefulGen g m => g -> m CChar | |
| Uniform CInt | |
Defined in System.Random.Internal Methods uniformM :: StatefulGen g m => g -> m CInt | |
| Uniform CIntMax | |
Defined in System.Random.Internal Methods uniformM :: StatefulGen g m => g -> m CIntMax | |
| Uniform CIntPtr | |
Defined in System.Random.Internal Methods uniformM :: StatefulGen g m => g -> m CIntPtr | |
| Uniform CLLong | |
Defined in System.Random.Internal Methods uniformM :: StatefulGen g m => g -> m CLLong | |
| Uniform CLong | |
Defined in System.Random.Internal Methods uniformM :: StatefulGen g m => g -> m CLong | |
| Uniform CPtrdiff | |
Defined in System.Random.Internal Methods uniformM :: StatefulGen g m => g -> m CPtrdiff | |
| Uniform CSChar | |
Defined in System.Random.Internal Methods uniformM :: StatefulGen g m => g -> m CSChar | |
| Uniform CShort | |
Defined in System.Random.Internal Methods uniformM :: StatefulGen g m => g -> m CShort | |
| Uniform CSigAtomic | |
Defined in System.Random.Internal Methods uniformM :: StatefulGen g m => g -> m CSigAtomic | |
| Uniform CSize | |
Defined in System.Random.Internal Methods uniformM :: StatefulGen g m => g -> m CSize | |
| Uniform CUChar | |
Defined in System.Random.Internal Methods uniformM :: StatefulGen g m => g -> m CUChar | |
| Uniform CUInt | |
Defined in System.Random.Internal Methods uniformM :: StatefulGen g m => g -> m CUInt | |
| Uniform CUIntMax | |
Defined in System.Random.Internal Methods uniformM :: StatefulGen g m => g -> m CUIntMax | |
| Uniform CUIntPtr | |
Defined in System.Random.Internal Methods uniformM :: StatefulGen g m => g -> m CUIntPtr | |
| Uniform CULLong | |
Defined in System.Random.Internal Methods uniformM :: StatefulGen g m => g -> m CULLong | |
| Uniform CULong | |
Defined in System.Random.Internal Methods uniformM :: StatefulGen g m => g -> m CULong | |
| Uniform CUShort | |
Defined in System.Random.Internal Methods uniformM :: StatefulGen g m => g -> m CUShort | |
| Uniform CWchar | |
Defined in System.Random.Internal Methods uniformM :: StatefulGen g m => g -> m CWchar | |
| Uniform Int16 | |
Defined in System.Random.Internal Methods uniformM :: StatefulGen g m => g -> m Int16 | |
| Uniform Int32 | |
Defined in System.Random.Internal Methods uniformM :: StatefulGen g m => g -> m Int32 | |
| Uniform Int64 | |
Defined in System.Random.Internal Methods uniformM :: StatefulGen g m => g -> m Int64 | |
| Uniform Int8 | |
Defined in System.Random.Internal Methods uniformM :: StatefulGen g m => g -> m Int8 | |
| Uniform Word16 | |
Defined in System.Random.Internal Methods uniformM :: StatefulGen g m => g -> m Word16 | |
| Uniform Word32 | |
Defined in System.Random.Internal Methods uniformM :: StatefulGen g m => g -> m Word32 | |
| Uniform Word64 | |
Defined in System.Random.Internal Methods uniformM :: StatefulGen g m => g -> m Word64 | |
| Uniform Word8 | |
Defined in System.Random.Internal Methods uniformM :: StatefulGen g m => g -> m Word8 | |
| Uniform () | |
Defined in System.Random.Internal Methods uniformM :: StatefulGen g m => g -> m () | |
| Uniform Bool | |
Defined in System.Random.Internal Methods uniformM :: StatefulGen g m => g -> m Bool | |
| Uniform Char | |
Defined in System.Random.Internal Methods uniformM :: StatefulGen g m => g -> m Char | |
| Uniform Int | |
Defined in System.Random.Internal Methods uniformM :: StatefulGen g m => g -> m Int | |
| Uniform Word | |
Defined in System.Random.Internal Methods uniformM :: StatefulGen g m => g -> m Word | |
| (Uniform a, Uniform b) => Uniform (a, b) | |
Defined in System.Random.Internal Methods uniformM :: StatefulGen g m => g -> m (a, b) | |
| (Uniform a, Uniform b, Uniform c) => Uniform (a, b, c) | |
Defined in System.Random.Internal Methods uniformM :: StatefulGen g m => g -> m (a, b, c) | |
| (Uniform a, Uniform b, Uniform c, Uniform d) => Uniform (a, b, c, d) | |
Defined in System.Random.Internal Methods uniformM :: StatefulGen g m => g -> m (a, b, c, d) | |
| (Uniform a, Uniform b, Uniform c, Uniform d, Uniform e) => Uniform (a, b, c, d, e) | |
Defined in System.Random.Internal Methods uniformM :: StatefulGen g m => g -> m (a, b, c, d, e) | |
| (Uniform a, Uniform b, Uniform c, Uniform d, Uniform e, Uniform f) => Uniform (a, b, c, d, e, f) | |
Defined in System.Random.Internal Methods uniformM :: StatefulGen g m => g -> m (a, b, c, d, e, f) | |
| (Uniform a, Uniform b, Uniform c, Uniform d, Uniform e, Uniform f, Uniform g) => Uniform (a, b, c, d, e, f, g) | |
Defined in System.Random.Internal Methods uniformM :: StatefulGen g0 m => g0 -> m (a, b, c, d, e, f, g) | |
class UniformRange a #
Minimal complete definition
uniformRM
Instances
| UniformRange CBool | |
Defined in System.Random.Internal Methods uniformRM :: StatefulGen g m => (CBool, CBool) -> g -> m CBool | |
| UniformRange CChar | |
Defined in System.Random.Internal Methods uniformRM :: StatefulGen g m => (CChar, CChar) -> g -> m CChar | |
| UniformRange CDouble | |
Defined in System.Random.Internal Methods uniformRM :: StatefulGen g m => (CDouble, CDouble) -> g -> m CDouble | |
| UniformRange CFloat | |
Defined in System.Random.Internal Methods uniformRM :: StatefulGen g m => (CFloat, CFloat) -> g -> m CFloat | |
| UniformRange CInt | |
Defined in System.Random.Internal Methods uniformRM :: StatefulGen g m => (CInt, CInt) -> g -> m CInt | |
| UniformRange CIntMax | |
Defined in System.Random.Internal Methods uniformRM :: StatefulGen g m => (CIntMax, CIntMax) -> g -> m CIntMax | |
| UniformRange CIntPtr | |
Defined in System.Random.Internal Methods uniformRM :: StatefulGen g m => (CIntPtr, CIntPtr) -> g -> m CIntPtr | |
| UniformRange CLLong | |
Defined in System.Random.Internal Methods uniformRM :: StatefulGen g m => (CLLong, CLLong) -> g -> m CLLong | |
| UniformRange CLong | |
Defined in System.Random.Internal Methods uniformRM :: StatefulGen g m => (CLong, CLong) -> g -> m CLong | |
| UniformRange CPtrdiff | |
Defined in System.Random.Internal Methods uniformRM :: StatefulGen g m => (CPtrdiff, CPtrdiff) -> g -> m CPtrdiff | |
| UniformRange CSChar | |
Defined in System.Random.Internal Methods uniformRM :: StatefulGen g m => (CSChar, CSChar) -> g -> m CSChar | |
| UniformRange CShort | |
Defined in System.Random.Internal Methods uniformRM :: StatefulGen g m => (CShort, CShort) -> g -> m CShort | |
| UniformRange CSigAtomic | |
Defined in System.Random.Internal Methods uniformRM :: StatefulGen g m => (CSigAtomic, CSigAtomic) -> g -> m CSigAtomic | |
| UniformRange CSize | |
Defined in System.Random.Internal Methods uniformRM :: StatefulGen g m => (CSize, CSize) -> g -> m CSize | |
| UniformRange CUChar | |
Defined in System.Random.Internal Methods uniformRM :: StatefulGen g m => (CUChar, CUChar) -> g -> m CUChar | |
| UniformRange CUInt | |
Defined in System.Random.Internal Methods uniformRM :: StatefulGen g m => (CUInt, CUInt) -> g -> m CUInt | |
| UniformRange CUIntMax | |
Defined in System.Random.Internal Methods uniformRM :: StatefulGen g m => (CUIntMax, CUIntMax) -> g -> m CUIntMax | |
| UniformRange CUIntPtr | |
Defined in System.Random.Internal Methods uniformRM :: StatefulGen g m => (CUIntPtr, CUIntPtr) -> g -> m CUIntPtr | |
| UniformRange CULLong | |
Defined in System.Random.Internal Methods uniformRM :: StatefulGen g m => (CULLong, CULLong) -> g -> m CULLong | |
| UniformRange CULong | |
Defined in System.Random.Internal Methods uniformRM :: StatefulGen g m => (CULong, CULong) -> g -> m CULong | |
| UniformRange CUShort | |
Defined in System.Random.Internal Methods uniformRM :: StatefulGen g m => (CUShort, CUShort) -> g -> m CUShort | |
| UniformRange CWchar | |
Defined in System.Random.Internal Methods uniformRM :: StatefulGen g m => (CWchar, CWchar) -> g -> m CWchar | |
| UniformRange Int16 | |
Defined in System.Random.Internal Methods uniformRM :: StatefulGen g m => (Int16, Int16) -> g -> m Int16 | |
| UniformRange Int32 | |
Defined in System.Random.Internal Methods uniformRM :: StatefulGen g m => (Int32, Int32) -> g -> m Int32 | |
| UniformRange Int64 | |
Defined in System.Random.Internal Methods uniformRM :: StatefulGen g m => (Int64, Int64) -> g -> m Int64 | |
| UniformRange Int8 | |
Defined in System.Random.Internal Methods uniformRM :: StatefulGen g m => (Int8, Int8) -> g -> m Int8 | |
| UniformRange Word16 | |
Defined in System.Random.Internal Methods uniformRM :: StatefulGen g m => (Word16, Word16) -> g -> m Word16 | |
| UniformRange Word32 | |
Defined in System.Random.Internal Methods uniformRM :: StatefulGen g m => (Word32, Word32) -> g -> m Word32 | |
| UniformRange Word64 | |
Defined in System.Random.Internal Methods uniformRM :: StatefulGen g m => (Word64, Word64) -> g -> m Word64 | |
| UniformRange Word8 | |
Defined in System.Random.Internal Methods uniformRM :: StatefulGen g m => (Word8, Word8) -> g -> m Word8 | |
| UniformRange Integer | |
Defined in System.Random.Internal Methods uniformRM :: StatefulGen g m => (Integer, Integer) -> g -> m Integer | |
| UniformRange Natural | |
Defined in System.Random.Internal Methods uniformRM :: StatefulGen g m => (Natural, Natural) -> g -> m Natural | |
| UniformRange () | |
Defined in System.Random.Internal Methods uniformRM :: StatefulGen g m => ((), ()) -> g -> m () | |
| UniformRange Bool | |
Defined in System.Random.Internal Methods uniformRM :: StatefulGen g m => (Bool, Bool) -> g -> m Bool | |
| UniformRange Char | |
Defined in System.Random.Internal Methods uniformRM :: StatefulGen g m => (Char, Char) -> g -> m Char | |
| UniformRange Double | |
Defined in System.Random.Internal Methods uniformRM :: StatefulGen g m => (Double, Double) -> g -> m Double | |
| UniformRange Float | |
Defined in System.Random.Internal Methods uniformRM :: StatefulGen g m => (Float, Float) -> g -> m Float | |
| UniformRange Int | |
Defined in System.Random.Internal Methods uniformRM :: StatefulGen g m => (Int, Int) -> g -> m Int | |
| UniformRange Word | |
Defined in System.Random.Internal Methods uniformRM :: StatefulGen g m => (Word, Word) -> g -> m Word | |
genByteString :: RandomGen g => Int -> g -> (ByteString, g) #
getStdRandom :: MonadIO m => (StdGen -> (a, StdGen)) -> m a #
initStdGen :: MonadIO m => m StdGen #
module Control.Monad.Random.Class
class Applicative m => Monad (m :: Type -> Type) where #
Minimal complete definition
Instances
| Monad Complex | |
| Monad First | |
| Monad Last | |
| Monad Max | |
| Monad Min | |
| Monad NonEmpty | |
| Monad Identity | |
| Monad First | |
| Monad Last | |
| Monad Dual | |
| Monad Product | |
| Monad Sum | |
| Monad Par1 | |
| Monad IO | |
| Monad Array | |
| Monad SmallArray | |
| Monad Q | |
| Monad Maybe | |
| Monad Solo | |
| Monad [] | |
| Monad m => Monad (WrappedMonad m) | |
| ArrowApply a => Monad (ArrowMonad a) | |
| Monad (Either e) | |
| Monad (U1 :: Type -> Type) | |
| Monad m => Monad (MaybeT m) | |
| Monoid a => Monad ((,) a) | |
| Monad m => Monad (RandT g m) Source # | |
| Monad m => Monad (RandT g m) Source # | |
| Monad m => Monad (Kleisli m a) | |
| Monad f => Monad (Ap f) | |
| Monad f => Monad (Alt f) | |
| Monad f => Monad (Rec1 f) | |
| Monad (t m) => Monad (LiftingAccum t m) | |
| Monad (t m) => Monad (LiftingSelect t m) | |
| (Monoid w, Functor m, Monad m) => Monad (AccumT w m) | |
| Monad m => Monad (ExceptT e m) | |
| Monad m => Monad (IdentityT m) | |
| Monad m => Monad (ReaderT r m) | |
| Monad m => Monad (SelectT r m) | |
| Monad m => Monad (StateT s m) | |
| Monad m => Monad (StateT s m) | |
| Monad m => Monad (WriterT w m) | |
| (Monoid w, Monad m) => Monad (WriterT w m) | |
| (Monoid w, Monad m) => Monad (WriterT w m) | |
| Monad m => Monad (Reverse m) | |
| (Monoid a, Monoid b) => Monad ((,,) a b) | |
| (Monad f, Monad g) => Monad (Product f g) | |
| (Monad f, Monad g) => Monad (f :*: g) | |
| Monad (ContT r m) | |
| (Monoid a, Monoid b, Monoid c) => Monad ((,,,) a b c) | |
| Monad ((->) r) | |
| Monad f => Monad (M1 i c f) | |
| Monad m => Monad (RWST r w s m) | |
| (Monoid w, Monad m) => Monad (RWST r w s m) | |
| (Monoid w, Monad m) => Monad (RWST r w s m) | |
class (Alternative m, Monad m) => MonadPlus (m :: Type -> Type) where #
Minimal complete definition
Nothing
Instances
class Functor (f :: Type -> Type) where #
Minimal complete definition
Instances
liftM5 :: Monad m => (a1 -> a2 -> a3 -> a4 -> a5 -> r) -> m a1 -> m a2 -> m a3 -> m a4 -> m a5 -> m r #
mapAndUnzipM :: Applicative m => (a -> m (b, c)) -> [a] -> m ([b], [c]) #
replicateM :: Applicative m => Int -> m a -> m [a] #
replicateM_ :: Applicative m => Int -> m a -> m () #
class Monad m => MonadFail (m :: Type -> Type) where #
Instances
class Monad m => MonadFix (m :: Type -> Type) where #
Instances
class Monad m => MonadIO (m :: Type -> Type) where #
Instances
class (forall (m :: Type -> Type). Monad m => Monad (t m)) => MonadTrans (t :: (Type -> Type) -> Type -> Type) where #