equal
deleted
inserted
replaced
5 provides implicit configuration for various output mechanisms. |
5 provides implicit configuration for various output mechanisms. |
6 *) |
6 *) |
7 |
7 |
8 signature BASIC_PRINT_MODE = |
8 signature BASIC_PRINT_MODE = |
9 sig |
9 sig |
10 val print_mode: string list ref (*global template*) |
10 val print_mode: string list Unsynchronized.ref (*global template*) |
11 val print_mode_value: unit -> string list (*thread-local value*) |
11 val print_mode_value: unit -> string list (*thread-local value*) |
12 val print_mode_active: string -> bool (*thread-local value*) |
12 val print_mode_active: string -> bool (*thread-local value*) |
13 end; |
13 end; |
14 |
14 |
15 signature PRINT_MODE = |
15 signature PRINT_MODE = |
16 sig |
16 sig |
17 include BASIC_PRINT_MODE |
17 include BASIC_PRINT_MODE |
26 struct |
26 struct |
27 |
27 |
28 val input = "input"; |
28 val input = "input"; |
29 val internal = "internal"; |
29 val internal = "internal"; |
30 |
30 |
31 val print_mode = ref ([]: string list); |
31 val print_mode = Unsynchronized.ref ([]: string list); |
32 val tag = Universal.tag () : string list option Universal.tag; |
32 val tag = Universal.tag () : string list option Universal.tag; |
33 |
33 |
34 fun print_mode_value () = |
34 fun print_mode_value () = |
35 let val modes = |
35 let val modes = |
36 (case Thread.getLocal tag of |
36 (case Thread.getLocal tag of |