Core_kernel.Quickcheck_intfQuickcheck is a library that uses predicate-based tests and pseudo-random inputs to automate testing.
For examples see lib/core/example/quickcheck.
module type Generator = sig ... endAn 'a t a generates values of type 'a with a specific probability distribution.
module type Deriving_hash = sig ... endmodule type Observer = sig ... endAn 'a Quickcheck.Observer.t represents a hash function on 'a. Observers are used to construct distributions of random functions; see Quickcheck.Generator.fn.
module type Shrinker = sig ... endA 'a Quickcheck.Shrinker.t takes a value of type 'a and produces similar values that are smaller by some metric.
module type S = sig ... endmodule type S1 = sig ... endmodule type S2 = sig ... endmodule type S_range = sig ... endmodule type S_int = sig ... endseed specifies how to initialize a pseudo-random number generator. When multiple tests share a deterministic seed, they each get a separate copy of the random generator's state; random choices in one test do not affect those in another. The nondeterministic seed causes a fresh random state to be generated nondeterministically for each test.
module type Quickcheck_config = sig ... endmodule type Quickcheck_configured = sig ... endmodule type Syntax = sig ... endIncludes Let_syntax from Monad.Syntax. Sets Open_on_rhs to be all of Generator, except that it does not shadow Let_syntax itself. Both Generator and Open_on_rhs are meant to be destructively assigned.
module type Quickcheck = sig ... end