src/Pure/ML-Systems/smlnj.ML
changeset 18790 418131f631fc
parent 18760 97aaecb84afe
child 21298 6d2306b2376d
equal deleted inserted replaced
18789:8a5c6fc3ad27 18790:418131f631fc
    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