# HG changeset patch # User wenzelm # Date 936471620 -7200 # Node ID 6ce03d2f7d913fe4801a096fe86c17565bef1167 # Parent 71e5d8671e7b22d42920f4a43ac0a71adc66109c equal_lists: ('a * 'b -> bool) -> 'a list * 'b list -> bool; diff -r 71e5d8671e7b -r 6ce03d2f7d91 src/Pure/library.ML --- a/src/Pure/library.ML Sat Sep 04 20:59:33 1999 +0200 +++ b/src/Pure/library.ML Sat Sep 04 21:00:20 1999 +0200 @@ -107,6 +107,7 @@ val seq2: ('a * 'b -> unit) -> 'a list * 'b list -> unit val ~~ : 'a list * 'b list -> ('a * 'b) list val split_list: ('a * 'b) list -> 'a list * 'b list + val equal_lists: ('a * 'b -> bool) -> 'a list * 'b list -> bool val prefix: ''a list * ''a list -> bool val take_prefix: ('a -> bool) -> 'a list -> 'a list * 'a list val take_suffix: ('a -> bool) -> 'a list -> 'a list * 'a list @@ -592,6 +593,8 @@ [(x1, y1), ..., (xn, yn)] ===> ([x1, ..., xn], [y1, ..., yn])*) fun split_list (l: ('a * 'b) list) = (map #1 l, map #2 l); +fun equal_lists eq (xs, ys) = length xs = length ys andalso forall2 eq (xs, ys); + (* prefixes, suffixes *)