equal
deleted
inserted
replaced
46 val not_equal: ''a -> ''a -> bool |
46 val not_equal: ''a -> ''a -> bool |
47 val orf: ('a -> bool) * ('a -> bool) -> 'a -> bool |
47 val orf: ('a -> bool) * ('a -> bool) -> 'a -> bool |
48 val andf: ('a -> bool) * ('a -> bool) -> 'a -> bool |
48 val andf: ('a -> bool) * ('a -> bool) -> 'a -> bool |
49 val exists: ('a -> bool) -> 'a list -> bool |
49 val exists: ('a -> bool) -> 'a list -> bool |
50 val forall: ('a -> bool) -> 'a list -> bool |
50 val forall: ('a -> bool) -> 'a list -> bool |
51 val setmp_thread_data: 'a Universal.tag -> 'a -> 'a -> ('b -> 'c) -> 'b -> 'c |
|
52 |
51 |
53 (*lists*) |
52 (*lists*) |
54 val single: 'a -> 'a list |
53 val single: 'a -> 'a list |
55 val the_single: 'a list -> 'a |
54 val the_single: 'a list -> 'a |
56 val singleton: ('a list -> 'b list) -> 'a -> 'b |
55 val singleton: ('a list -> 'b list) -> 'a -> 'b |
276 |
275 |
277 val exists = List.exists; |
276 val exists = List.exists; |
278 val forall = List.all; |
277 val forall = List.all; |
279 |
278 |
280 |
279 |
281 (* thread data *) |
|
282 |
|
283 fun setmp_thread_data tag orig_data data f x = |
|
284 uninterruptible (fn restore_attributes => fn () => |
|
285 let |
|
286 val _ = Thread.setLocal (tag, data); |
|
287 val result = Exn.capture (restore_attributes f) x; |
|
288 val _ = Thread.setLocal (tag, orig_data); |
|
289 in Exn.release result end) (); |
|
290 |
|
291 |
|
292 |
280 |
293 (** lists **) |
281 (** lists **) |
294 |
282 |
295 fun single x = [x]; |
283 fun single x = [x]; |
296 |
284 |