module Comparable: Comparable
module type Infix = Comparable_intf.Infix
module type Map_and_set_binable = Comparable_intf.Map_and_set_binable
module type S = Comparable_intf.S
module type S_binable = Comparable_intf.S_binable
module type S_common = Comparable_intf.S_common
module type Validate = Comparable_intf.Validate
module type With_zero = Comparable_intf.With_zero
type 'a
bound = 'a Comparable_intf.bound
=
| |
Incl of 'a |
| |
Excl of 'a |
| |
Unbounded |
val lexicographic : ('a -> 'a -> int) list -> 'a -> 'a -> int
lexicographic cmps x y
compares x
and y
lexicographically using functions in the
list cmps
.
module Inherit: functor (
C
:
sig
type
t
val compare : t -> t -> int
end
) ->
functor (
T
:
sig
end
) ->
S
with type t := T.t
Inherit comparability from a component.
module Make: functor (
T
:
sig
end
) ->
S
with type t := T.t
Usage example:
module Make_binable: functor (
T
:
sig
end
) ->
S_binable
with type t := T.t
module Map_and_set_binable:
module Poly: functor (
T
:
sig
end
) ->
S
with type t := T.t
module Validate: functor (
T
:
sig
end
) ->
Validate
with type t := T.t
module With_zero: functor (
T
:
sig
type
t
val zero : t
include Comparable.Validate
val t_of_sexp : Sexplib.Sexp.t -> t
val sexp_of_t : t -> Sexplib.Sexp.t
val compare : t -> t -> int
end
) ->
With_zero
with type t := T.t
module Validate_with_zero: functor (
T
:
sig
end
) ->
sig
.. end
module Check_sexp_conversion: functor (
M
:
sig
type
t
include Comparable.S
val examples : t list
val sexp_of_t : t -> Sexplib.Sexp.t
end
) ->
sig
.. end