equal
deleted
inserted
replaced
33 val show_debug_msgs: bool ref |
33 val show_debug_msgs: bool ref |
34 val no_warnings: ('a -> 'b) -> 'a -> 'b |
34 val no_warnings: ('a -> 'b) -> 'a -> 'b |
35 val assert: bool -> string -> unit |
35 val assert: bool -> string -> unit |
36 val deny: bool -> string -> unit |
36 val deny: bool -> string -> unit |
37 val assert_all: ('a -> bool) -> 'a list -> ('a -> string) -> unit |
37 val assert_all: ('a -> bool) -> 'a list -> ('a -> string) -> unit |
|
38 val update_warn: ('a * 'a -> bool) -> string -> ('a * 'b) |
|
39 -> ('a * 'b) list -> ('a * 'b) list |
38 val overwrite_warn: (''a * 'b) list * (''a * 'b) -> string -> (''a * 'b) list |
40 val overwrite_warn: (''a * 'b) list * (''a * 'b) -> string -> (''a * 'b) list |
39 datatype 'a error = Error of string | OK of 'a |
41 datatype 'a error = Error of string | OK of 'a |
40 val get_error: 'a error -> string option |
42 val get_error: 'a error -> string option |
41 val get_ok: 'a error -> 'a option |
43 val get_ok: 'a error -> 'a option |
42 val handle_error: ('a -> 'b) -> 'a -> 'b error |
44 val handle_error: ('a -> 'b) -> 'a -> 'b error |
156 (*Assert pred for every member of l, generating a message if pred fails*) |
158 (*Assert pred for every member of l, generating a message if pred fails*) |
157 fun assert_all pred l msg_fn = |
159 fun assert_all pred l msg_fn = |
158 let fun asl [] = () |
160 let fun asl [] = () |
159 | asl (x::xs) = if pred x then asl xs else error (msg_fn x) |
161 | asl (x::xs) = if pred x then asl xs else error (msg_fn x) |
160 in asl l end; |
162 in asl l end; |
|
163 |
|
164 fun overwrite (al, p as (key, _)) = |
|
165 let fun over ((q as (keyi, _)) :: pairs) = |
|
166 if keyi = key then p :: pairs else q :: (over pairs) |
|
167 | over [] = [p] |
|
168 in over al end; |
161 |
169 |
162 fun overwrite_warn (args as (alist, (a, _))) msg = |
170 fun overwrite_warn (args as (alist, (a, _))) msg = |
163 (if is_none (AList.lookup (op =) alist a) then () else warning msg; |
171 (if is_none (AList.lookup (op =) alist a) then () else warning msg; |
164 overwrite args); |
172 overwrite args); |
165 |
173 |