sig
module type Equatable =
sig
type t
val equal :
Reins.Types.Mono.Equatable.t -> Reins.Types.Mono.Equatable.t -> bool
end
module type Comparable =
sig
type t
val compare :
Reins.Types.Mono.Comparable.t -> Reins.Types.Mono.Comparable.t -> int
val to_string : Reins.Types.Mono.Comparable.t -> string
end
module type Hashable =
sig type t val equal : t -> t -> bool val hash : t -> int end
module type Arbitrary =
sig
type t
val gen : ?size:int -> Random.State.t -> Reins.Types.Mono.Arbitrary.t
val to_string : Reins.Types.Mono.Arbitrary.t -> string
end
module type ArbitraryComparable =
sig
type t
val gen : ?size:int -> Random.State.t -> t
val to_string : t -> string
val compare : t -> t -> int
end
module ComposeComparable :
functor (P : Poly.Comparable) ->
functor (M : Comparable) ->
sig
type t = M.t P.t
val compare :
Reins.Types.Mono.ComposeComparable.t ->
Reins.Types.Mono.ComposeComparable.t -> int
val to_string : Reins.Types.Mono.ComposeComparable.t -> string
end
module ComposeGen :
functor (P : Poly.Arbitrary) ->
functor (M : Arbitrary) ->
sig
type t = M.t P.t
val gen :
?size:int -> Random.State.t -> Reins.Types.Mono.ComposeGen.t
val to_string : Reins.Types.Mono.ComposeGen.t -> string
end
module ComposeGenComparable :
functor (P : Poly.ArbitraryComparable) ->
functor (M : ArbitraryComparable) ->
sig
type t = M.t P.t
val gen :
?size:int ->
Random.State.t -> Reins.Types.Mono.ComposeGenComparable.t
val to_string : Reins.Types.Mono.ComposeGenComparable.t -> string
val compare :
Reins.Types.Mono.ComposeGenComparable.t ->
Reins.Types.Mono.ComposeGenComparable.t -> int
end
module ComparablePair :
functor (M1 : Comparable) ->
functor (M2 : Comparable) ->
sig
type t = M1.t * M2.t
val compare :
Reins.Types.Mono.ComparablePair.t ->
Reins.Types.Mono.ComparablePair.t -> int
val to_string : Reins.Types.Mono.ComparablePair.t -> string
end
module Comparable3Tuple :
functor (M1 : Comparable) ->
functor (M2 : Comparable) ->
functor (M3 : Comparable) ->
sig
type t = M1.t * M2.t * M3.t
val compare :
Reins.Types.Mono.Comparable3Tuple.t ->
Reins.Types.Mono.Comparable3Tuple.t -> int
val to_string : Reins.Types.Mono.Comparable3Tuple.t -> string
end
module GenPair :
functor (A : Arbitrary) ->
functor (B : Arbitrary) ->
sig
type t = A.t * B.t
val gen : ?size:int -> Random.State.t -> Reins.Types.Mono.GenPair.t
val to_string : Reins.Types.Mono.GenPair.t -> string
end
module Gen3Tuple :
functor (A : Arbitrary) ->
functor (B : Arbitrary) ->
functor (C : Arbitrary) ->
sig
type t = A.t * B.t * C.t
val gen :
?size:int -> Random.State.t -> Reins.Types.Mono.Gen3Tuple.t
val to_string : Reins.Types.Mono.Gen3Tuple.t -> string
end
end