With a source of random number supply in hand, the MonadRandom class allows the programmer to extract random values of a variety of types.
Methods
getRandomR :: Random a => (a, a) -> m aTakes a range (lo,hi) and a random number generator g, and returns a computation that returns a random value uniformly distributed in the closed interval [lo,hi], together with a new generator. It is unspecified what happens if lo>hi. For continuous types there is no requirement that the values lo and hi are ever produced, but they may be, depending on the implementation and the interval.
See randomR for details.
getRandom :: Random a => m aThe same as getRandomR, but using a default range determined by the type:
For bounded types (instances of Bounded, such as Char), the range is normally the whole type.
For fractional types, the range is normally the semi-closed interval
[0,1).
See random for details.
getRandomRs :: Random a => (a, a) -> m [a]Plural variant of getRandomR, producing an infinite list of random values instead of returning a new generator.
See randomRs for details.
getRandoms :: Random a => m [a]
Instances14MonadRandom, …
MonadRandom IODefined in MonadRandom-0.6.2 · Control.Monad.Random.ClassMonadRandom m => MonadRandom (MaybeT m)Defined in MonadRandom-0.6.2 · Control.Monad.Random.ClassMonadRandom m => MonadRandom (ExceptT e m)Defined in MonadRandom-0.6.2 · Control.Monad.Random.ClassMonadRandom m => MonadRandom (IdentityT m)Defined in MonadRandom-0.6.2 · Control.Monad.Random.ClassMonadRandom m => MonadRandom (ReaderT r m)Defined in MonadRandom-0.6.2 · Control.Monad.Random.ClassMonadRandom m => MonadRandom (StateT s m)Defined in MonadRandom-0.6.2 · Control.Monad.Random.ClassMonadRandom m => MonadRandom (StateT s m)Defined in MonadRandom-0.6.2 · Control.Monad.Random.Class(MonadRandom m, Monoid w) => MonadRandom (WriterT w m)Defined in MonadRandom-0.6.2 · Control.Monad.Random.Class(MonadRandom m, Monoid w) => MonadRandom (WriterT w m)Defined in MonadRandom-0.6.2 · Control.Monad.Random.Class(RandomGen g, Monad m) => MonadRandom (RandT g m)Defined in MonadRandom-0.6.2 · Control.Monad.Trans.Random.Lazy(RandomGen g, Monad m) => MonadRandom (RandT g m)Defined in MonadRandom-0.6.2 · Control.Monad.Trans.Random.StrictMonadRandom m => MonadRandom (ContT r m)Defined in MonadRandom-0.6.2 · Control.Monad.Random.Class(Monoid w, MonadRandom m) => MonadRandom (RWST r w s m)Defined in MonadRandom-0.6.2 · Control.Monad.Random.Class(Monoid w, MonadRandom m) => MonadRandom (RWST r w s m)Defined in MonadRandom-0.6.2 · Control.Monad.Random.Class