equal
deleted
inserted
replaced
9 val exn_messages_ids: exn -> Runtime.error list |
9 val exn_messages_ids: exn -> Runtime.error list |
10 val exn_messages: exn -> (serial * string) list |
10 val exn_messages: exn -> (serial * string) list |
11 val exn_message: exn -> string |
11 val exn_message: exn -> string |
12 val exn_error_message: exn -> unit |
12 val exn_error_message: exn -> unit |
13 val exn_trace: (unit -> 'a) -> 'a |
13 val exn_trace: (unit -> 'a) -> 'a |
|
14 val print_depth_raw: Config.raw |
|
15 val print_depth: int Config.T |
|
16 val get_print_depth: unit -> int |
14 type flags = {SML: bool, verbose: bool} |
17 type flags = {SML: bool, verbose: bool} |
15 val eval: flags -> Position.T -> ML_Lex.token list -> unit |
18 val eval: flags -> Position.T -> ML_Lex.token list -> unit |
16 end |
19 end |
17 |
20 |
18 structure ML_Compiler: ML_COMPILER = |
21 structure ML_Compiler: ML_COMPILER = |
19 struct |
22 struct |
|
23 |
|
24 (* exceptions *) |
20 |
25 |
21 val exn_info = |
26 val exn_info = |
22 {exn_position = fn _: exn => Position.none, |
27 {exn_position = fn _: exn => Position.none, |
23 pretty_exn = Pretty.str o General.exnMessage}; |
28 pretty_exn = Pretty.str o General.exnMessage}; |
24 |
29 |
26 val exn_messages = Runtime.exn_messages exn_info; |
31 val exn_messages = Runtime.exn_messages exn_info; |
27 val exn_message = Runtime.exn_message exn_info; |
32 val exn_message = Runtime.exn_message exn_info; |
28 |
33 |
29 val exn_error_message = Output.error_message o exn_message; |
34 val exn_error_message = Output.error_message o exn_message; |
30 fun exn_trace e = print_exception_trace exn_message e; |
35 fun exn_trace e = print_exception_trace exn_message e; |
|
36 |
|
37 |
|
38 (* print depth *) |
|
39 |
|
40 val print_depth_raw = |
|
41 Config.declare "ML_print_depth" (fn _ => Config.Int (get_default_print_depth ())); |
|
42 val print_depth = Config.int print_depth_raw; |
|
43 |
|
44 fun get_print_depth () = |
|
45 (case Context.thread_data () of |
|
46 NONE => get_default_print_depth () |
|
47 | SOME context => Config.get_generic context print_depth); |
|
48 |
|
49 |
|
50 (* eval *) |
31 |
51 |
32 type flags = {SML: bool, verbose: bool}; |
52 type flags = {SML: bool, verbose: bool}; |
33 |
53 |
34 fun eval {SML, verbose} pos toks = |
54 fun eval {SML, verbose} pos toks = |
35 let |
55 let |