tuned signature;
authorwenzelm
Fri, 18 Jun 2021 14:35:48 +0200
changeset 73865 4e94ceabaaad
parent 73864 ac5a72740f3a
child 73866 66bff50bc5f1
tuned signature;
src/Pure/library.ML
--- a/src/Pure/library.ML	Fri Jun 18 12:13:43 2021 +0200
+++ b/src/Pure/library.ML	Fri Jun 18 14:35:48 2021 +0200
@@ -198,11 +198,13 @@
   val bool_ord: bool ord
   val int_ord: int ord
   val string_ord: string ord
+  val size_ord: string ord
   val fast_string_ord: string ord
   val option_ord: ('a * 'b -> order) -> 'a option * 'b option -> order
   val ||| : ('a -> order) * ('a -> order) -> 'a -> order
   val prod_ord: ('a * 'b -> order) -> ('c * 'd -> order) -> ('a * 'c) * ('b * 'd) -> order
   val dict_ord: ('a * 'b -> order) -> 'a list * 'b list -> order
+  val length_ord: 'a list * 'b list -> order
   val list_ord: ('a * 'b -> order) -> 'a list * 'b list -> order
   val sort: 'a ord -> 'a list -> 'a list
   val sort_distinct: 'a ord -> 'a list -> 'a list
@@ -932,7 +934,8 @@
 val int_ord = Int.compare;
 val string_ord = String.compare;
 
-val fast_string_ord = pointer_eq_ord (int_ord o apply2 size ||| string_ord);
+val size_ord = int_ord o apply2 size;
+val fast_string_ord = pointer_eq_ord (size_ord ||| string_ord);
 
 fun option_ord ord (SOME x, SOME y) = ord (x, y)
   | option_ord _ (NONE, NONE) = EQUAL