package forester
Source file Compare.ml
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17let under f compare x y = compare (f x) (f y) let cascade compare0 compare1 x y = match compare0 x y with | 0 -> compare1 x y | i -> i let option compare x y = match x, y with | None, Some _ -> -1 | Some _, None -> 1 | None, None -> 0 | Some x, Some y -> compare x y let sort_map f compare xs = List.sort compare @@ List.map f xs