Stateful_gen.MakeProduces a pseudo-random generator that can execute side-effects in an underlying Monad.S.
Applied to Identity this is similar to QCheck.Gen.
This is a straight RNG without shrinking.
include Monad.Sinclude Applicative.Sval return : 'a -> 'a tInject the given value.
type 'a m = 'a F.tval bool : bool tGenerate a bool.
val nat_less_than : int -> int tGenerate a nat smaller than the given value.
val small_int : int tGenerate a small int.
Run a predetermined generator for each element in a list, and combine the result with the list element.
See traverse for a more general form.
val oneof : 'a t Non_empty.t -> 'a tReturn a generator that picks and invokes one of the given generators, uniformly distributed.
val char_readable : char tGenerate a readable character.
val string_readable : string tGenerate a readable string.
Convert a QCheck_extra generator to a QCheck generator.
The QCheck generator is run once once and the result is used as the seed of the given generator.
Warning Because Stdlib.Random.Gen and QCheck.Gen have mutable state, you must make sure this is only called once, to get predictable results.