Module Core_kernel__Comparator
Extends Base.Comparator, providing a type-indexed value that allows you to compare values of that type.
type ('a, 'witness) t= private ('a, 'witness) Base.Comparator.t={compare : 'a -> 'a -> Core_kernel__.Import.int;sexp_of_t : 'a -> Base.Sexp.t;}
include module type of Base.Comparator with type ('a, 'witness) Comparator.t := ('a, 'witness) t
type ('a, 'witness) t= private{compare : 'a -> 'a -> int;sexp_of_t : 'a -> Base.Sexp.t;}type ('a, 'b) comparator= ('a, 'b) t
module type S = sig ... endmodule type S1 = sig ... endmodule type S_fc = sig ... endval make : compare:('a -> 'a -> int) -> sexp_of_t:('a -> Base.Sexp.t) -> (module S_fc with type comparable_t = 'a)makecreates a comparator witness for the given comparison. It is intended as a lightweight alternative to the functors below, to be used like so:include (val Comparator.make ~compare ~sexp_of_t)
module Poly = Base.Comparator.Polymodule S_to_S1 = Base.Comparator.S_to_S1module Make = Base.Comparator.MakeMakecreates acomparatorvalue and its phantomcomparator_witnesstype for a nullary type.
module Make1 = Base.Comparator.Make1Make1creates acomparatorvalue and its phantomcomparator_witnesstype for a unary type. It takes acompareandsexp_of_tthat have non-standard types because theComparator.ttype doesn't allow passing in additional values for the type argument.
module type Derived = sig ... endmodule Derived = Base.Comparator.DerivedDerivedcreates acomparatorfunction that constructs a comparator for the type'a tgiven a comparator for the type'a.
module type Derived2 = sig ... endmodule Derived2 = Base.Comparator.Derived2Derived2creates acomparatorfunction that constructs a comparator for the type('a, 'b) tgiven comparators for the type'aand'b.
module type Derived_phantom = sig ... endmodule Derived_phantom = Base.Comparator.Derived_phantomDerived_phantomcreates acomparatorfunction that constructs a comparator for the type('a, 'b) tgiven a comparator for the type'a.
module Stable : sig ... end