equal
deleted
inserted
replaced
55 (case #version_id (Compiler.version) of |
55 (case #version_id (Compiler.version) of |
56 [110, x] => if x >= 44 |
56 [110, x] => if x >= 44 |
57 then use "ML-Systems/cpu-timer-basis.ML" |
57 then use "ML-Systems/cpu-timer-basis.ML" |
58 else use "ML-Systems/cpu-timer-gc.ML" |
58 else use "ML-Systems/cpu-timer-gc.ML" |
59 | _ => use "ML-Systems/cpu-timer-gc.ML"); |
59 | _ => use "ML-Systems/cpu-timer-gc.ML"); |
60 |
|
61 |
|
62 (* bounded time execution *) |
|
63 |
|
64 use "ML-Systems/smlnj-interrupt-timeout.ML"; |
|
65 |
60 |
66 |
61 |
67 (*prompts*) |
62 (*prompts*) |
68 fun ml_prompts p1 p2 = |
63 fun ml_prompts p1 p2 = |
69 (Compiler.Control.primaryPrompt := p1; Compiler.Control.secondaryPrompt := p2); |
64 (Compiler.Control.primaryPrompt := p1; Compiler.Control.secondaryPrompt := p2); |
106 Compiler.Control.Print.out := out_orig; |
101 Compiler.Control.Print.out := out_orig; |
107 if verbose then print (output ()) else () |
102 if verbose then print (output ()) else () |
108 end; |
103 end; |
109 |
104 |
110 |
105 |
111 |
|
112 (** interrupts **) |
106 (** interrupts **) |
113 |
107 |
114 exception Interrupt; |
108 exception Interrupt; |
115 |
109 |
116 local |
110 local |
149 then use "ML-Systems/smlnj-basis-compat.ML" |
143 then use "ML-Systems/smlnj-basis-compat.ML" |
150 else () |
144 else () |
151 | _ => ()); |
145 | _ => ()); |
152 |
146 |
153 |
147 |
|
148 |
|
149 (* bounded time execution *) |
|
150 |
|
151 use "ML-Systems/smlnj-interrupt-timeout.ML"; |
|
152 |
|
153 |
154 (** Signal handling: emulation of the Poly/ML Signal structure. Note that types |
154 (** Signal handling: emulation of the Poly/ML Signal structure. Note that types |
155 Posix.Signal.signal and Signals.signal differ **) |
155 Posix.Signal.signal and Signals.signal differ **) |
156 |
156 |
157 structure IsaSignal = |
157 structure IsaSignal = |
158 struct |
158 struct |