module type Infix = Core_kernel__Comparable_intf.Infixmodule type Map_and_set_binable = Core_kernel__Comparable_intf.Map_and_set_binablemodule type Polymorphic_compare = Core_kernel__Comparable_intf.Polymorphic_comparemodule type S_plain = Core_kernel__Comparable_intf.S_plainmodule type S = Core_kernel__Comparable_intf.Smodule type S_binable = Core_kernel__Comparable_intf.S_binablemodule type S_common = Core_kernel__Comparable_intf.S_commonmodule type Validate = Core_kernel__Comparable_intf.Validatemodule type With_zero = Core_kernel__Comparable_intf.With_zerolexicographic cmps x y compares x and y lexicographically using functions in the list cmps.
lift cmp ~f x y compares x and y by comparing f x and f y via cmp.
reverse cmp x y = cmp y x
Note: The Comparable.S interface exports both ascending and descending comparisons, so in most cases, it's better to use those.
Inherit comparability from a component.
Make Functors
module Make_plain : functor (T : sig ... end) -> S_plain with type t := T.tmodule Make_plain_using_comparator : functor (T : sig ... end) -> S_plain with type t := T.t with type comparator_witness := T.comparator_witnessmodule Make_using_comparator : functor (T : sig ... end) -> S with type t := T.t with type comparator_witness := T.comparator_witnessmodule Make_binable : functor (T : sig ... end) -> S_binable with type t := T.tmodule Make_binable_using_comparator : functor (T : sig ... end) -> S_binable with type t := T.t with type comparator_witness := T.comparator_witnessmodule Extend : functor (M : Base.Comparable.S) -> functor (X : sig ... end) -> S with type t := M.t with type comparator_witness := M.comparator_witnessmodule Extend_binable : functor (M : Base.Comparable.S) -> functor (X : sig ... end) -> S_binable with type t := M.t with type comparator_witness := M.comparator_witnessmodule Map_and_set_binable : functor (T : sig ... end) -> Map_and_set_binable with type t := T.tmodule Map_and_set_binable_using_comparator : functor (T : sig ... end) -> Map_and_set_binable with type t := T.t with type comparator_witness := T.comparator_witnessmodule Validate_with_zero : functor (T : sig ... end) -> sig ... endmodule Stable : sig ... end