equal
deleted
inserted
replaced
21 val exists: (elem -> bool) -> T -> bool |
21 val exists: (elem -> bool) -> T -> bool |
22 val forall: (elem -> bool) -> T -> bool |
22 val forall: (elem -> bool) -> T -> bool |
23 val get_first: (elem -> 'a option) -> T -> 'a option |
23 val get_first: (elem -> 'a option) -> T -> 'a option |
24 val member: T -> elem -> bool |
24 val member: T -> elem -> bool |
25 val subset: T * T -> bool |
25 val subset: T * T -> bool |
|
26 val eq_set: T * T -> bool |
26 val ord: T ord |
27 val ord: T ord |
27 val insert: elem -> T -> T |
28 val insert: elem -> T -> T |
28 val make: elem list -> T |
29 val make: elem list -> T |
29 val merge: T * T -> T |
30 val merge: T * T -> T |
30 val merges: T list -> T |
31 val merges: T list -> T |
275 |
276 |
276 |
277 |
277 (* subset and order *) |
278 (* subset and order *) |
278 |
279 |
279 fun subset (set1, set2) = forall (member set2) set1; |
280 fun subset (set1, set2) = forall (member set2) set1; |
|
281 |
|
282 fun eq_set (set1, set2) = |
|
283 pointer_eq (set1, set2) orelse size set1 = size set2 andalso subset (set1, set2); |
280 |
284 |
281 val ord = |
285 val ord = |
282 pointer_eq_ord (fn sets => |
286 pointer_eq_ord (fn sets => |
283 (case int_ord (apply2 size sets) of |
287 (case int_ord (apply2 size sets) of |
284 EQUAL => |
288 EQUAL => |