úÎ'–$'     I2006-2007 Cale Gibbard, Russell O'Connor, Dan Doel, Remi Turk, Eric Kidd. OtherLicense experimentalBnon-portable (multi-parameter type classes, undecidable instances)Safe79}An interface to monads with splittable state (as most random number generation monads will have). The intention is that the d action splits the state, returning one half of the result, and setting the new state to the other.0An interface to random number generation monads.)Return a randomly-selected value of type a. See  for details.3Return an infinite stream of random values of type a. See  for details.)Return a randomly-selected value of type a in the range [lo,hi]. See  for details.=Return an infinite stream of randomly-selected value of type a in the range [lo,hi]. See  for details.I2006-2007 Cale Gibbard, Russell O'Connor, Dan Doel, Remi Turk, Eric Kidd. OtherLicense experimentalBnon-portable (multi-parameter type classes, undecidable instances)None357C A basic random monad.OA monad transformer which adds a random number generator to an existing monad. Lift arbitrary action to RandT Lift arbitrary action to Rand 1Evaluate a RandT computation using the generator g. Note that the generator gG is not returned, so there's no way to recover the updated version of g. ,Run a RandT computation using the generator g2, returning the result and the updated generator. 2Evaluate a random computation using the generator g. Note that the generator gG is not returned, so there's no way to recover the updated version of g.-Run a random computation using the generator g2, returning the result and the updated generator.|Evaluate a random computation in the IO monad, splitting the global standard generator to get a new one for the computation.]Sample a random value from a weighted list. The total weight of all elements must not be 0.ASample a value from a uniform distribution of a list of elements.+ .action returning value and new generator state .action returning value and new generator state  !"#$%&'()*+,-./012345#6789:;<=>?@AB   *  !"#$%&'()*+,-./012345C       !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGMonad_57IZy5C1jBMFPyAtFceYAcControl.Monad.Random.ClassControl.Monad.Random MonadSplitgetSplit MonadRandom getRandom getRandoms getRandomR getRandomRsRandRandT liftRandTliftRand evalRandTrunRandTevalRandrunRand evalRandIOfromListuniformrando_1z8Ujelqc6aKgvPnbRUKkP System.RandomrandomrandomsrandomRrandomRs$fMonadSplitStdGenIO$fMonadRandomIO$fMonadStatesRandT$fMonadSplitgContT$fMonadSplitgMaybeT$fMonadSplitgErrorT$fMonadSplitgExceptT$fMonadSplitgRWST$fMonadSplitgRWST0$fMonadSplitgReaderT$fMonadSplitgWriterT$fMonadSplitgWriterT0$fMonadSplitgStateT$fMonadSplitgStateT0$fMonadSplitgIdentityT$fMonadRandomContT$fMonadRandomMaybeT$fMonadRandomErrorT$fMonadRandomExceptT$fMonadRandomRWST$fMonadRandomRWST0$fMonadRandomReaderT$fMonadRandomWriterT$fMonadRandomWriterT0$fMonadRandomStateT$fMonadRandomStateT0$fMonadRandomIdentityT$fMonadSplitgRandT$fMonadRandomRandT$fAlternativeRandT$fApplicativeRandT getStdRandom newStdGen getStdGen setStdGenmkStdGensplitgenRangenext RandomGenStdGenrandomIO randomRIORandom