module Comparison:sig
..end
type
t =
| |
Lt |
|||
| |
Eq |
|||
| |
Gt |
|||
| |
Incomparable |
(* |
partial order
| *) |
typecomparison =
t
include Interfaces.PRINT
val combine : t -> t -> t
Invalid_argument
if the comparisons are inconsistent.val opp : t -> t
val to_total : t -> int
val of_total : int -> t
val lexico : t -> t -> t
Incomparable
val (++) : t -> t -> t
Comparison.lexico
type'a
comparator ='a -> 'a -> t
val (@>>) : 'a comparator ->
'a comparator -> 'a comparator
(f1 @>> f2) x y
is the same as f1 x y
if
f1 x y
is not Eq
; otherwise it is the same as f2 x y
type ('a, 'b)
combination
'a -> 'a -> 'b
val (>>>) : 'a comparator ->
('b, 'c) combination ->
('a, 'b -> 'b -> 'c) combination
val last : 'a comparator -> ('a, t) combination
val call : ('a, 'b) combination -> 'a -> 'a -> 'b
val dominates : ('a -> 'b -> t) -> 'a list -> 'b list -> bool
dominates f l1 l2
returns true
iff for all element y
of l2
,
there is some x
in l1
with f x y = Gt
module type PARTIAL_ORD =sig
..end