equal
deleted
inserted
replaced
906 |
906 |
907 val int_ord = Int.compare; |
907 val int_ord = Int.compare; |
908 val string_ord = String.compare; |
908 val string_ord = String.compare; |
909 |
909 |
910 fun fast_string_ord (s1, s2) = |
910 fun fast_string_ord (s1, s2) = |
911 (case int_ord (size s1, size s2) of EQUAL => string_ord (s1, s2) | ord => ord); |
911 if pointer_eq (s1, s2) then EQUAL |
|
912 else (case int_ord (size s1, size s2) of EQUAL => string_ord (s1, s2) | ord => ord); |
912 |
913 |
913 fun option_ord ord (SOME x, SOME y) = ord (x, y) |
914 fun option_ord ord (SOME x, SOME y) = ord (x, y) |
914 | option_ord _ (NONE, NONE) = EQUAL |
915 | option_ord _ (NONE, NONE) = EQUAL |
915 | option_ord _ (NONE, SOME _) = LESS |
916 | option_ord _ (NONE, SOME _) = LESS |
916 | option_ord _ (SOME _, NONE) = GREATER; |
917 | option_ord _ (SOME _, NONE) = GREATER; |