equal
deleted
inserted
replaced
49 val the_default: 'a -> 'a option -> 'a |
49 val the_default: 'a -> 'a option -> 'a |
50 val the_list: 'a option -> 'a list |
50 val the_list: 'a option -> 'a list |
51 val if_none: 'a option -> 'a -> 'a |
51 val if_none: 'a option -> 'a -> 'a |
52 val is_some: 'a option -> bool |
52 val is_some: 'a option -> bool |
53 val is_none: 'a option -> bool |
53 val is_none: 'a option -> bool |
|
54 val perhaps: ('a -> 'a option) -> 'a -> 'a |
54 |
55 |
55 exception EXCEPTION of exn * string |
56 exception EXCEPTION of exn * string |
56 exception ERROR |
57 exception ERROR |
57 val try: ('a -> 'b) -> 'a -> 'b option |
58 val try: ('a -> 'b) -> 'a -> 'b option |
58 val can: ('a -> 'b) -> 'a -> bool |
59 val can: ('a -> 'b) -> 'a -> bool |
337 | is_some NONE = false; |
338 | is_some NONE = false; |
338 |
339 |
339 fun is_none (SOME _) = false |
340 fun is_none (SOME _) = false |
340 | is_none NONE = true; |
341 | is_none NONE = true; |
341 |
342 |
|
343 fun perhaps f x = |
|
344 case f x |
|
345 of NONE => x |
|
346 | SOME x' => x'; |
342 |
347 |
343 (* exceptions *) |
348 (* exceptions *) |
344 |
349 |
345 exception EXCEPTION of exn * string; |
350 exception EXCEPTION of exn * string; |
346 |
351 |