discontinued support for Poly/ML 5.2, which was the last version without proper multithreading and TimeLimit implementation;
authorwenzelm
Tue, 08 Feb 2011 17:36:21 +0100
changeset 41718 05514b09bb4b
parent 41717 8a1ab91df301
child 41728 2837df4d1c7a
discontinued support for Poly/ML 5.2, which was the last version without proper multithreading and TimeLimit implementation;
NEWS
src/Pure/Concurrent/time_limit_dummy.ML
src/Pure/IsaMakefile
src/Pure/ML-Systems/polyml-5.2.ML
src/Pure/ML-Systems/polyml_common.ML
src/Pure/ROOT.ML
src/Pure/pure_setup.ML
--- a/NEWS	Tue Feb 08 17:27:18 2011 +0100
+++ b/NEWS	Tue Feb 08 17:36:21 2011 +0100
@@ -10,6 +10,9 @@
 Goal.parallel_proofs_threshold (default 100).  See also isabelle
 usedir option -Q.
 
+* Discontinued support for Poly/ML 5.2, which was the last version
+without proper multithreading and TimeLimit implementation.
+
 
 *** Document preparation ***
 
--- a/src/Pure/Concurrent/time_limit_dummy.ML	Tue Feb 08 17:27:18 2011 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,15 +0,0 @@
-(*  Title:      Pure/Concurrent/time_limit_dummy.ML
-    Author:     Makarius
-
-Execution with time limit -- dummy version.
-*)
-
-structure TimeLimit: TIME_LIMIT =
-struct
-
-exception TimeOut;
-
-fun timeLimit _ f x = (warning "No timeout support on this ML platform"; f x);
-
-end;
-
--- a/src/Pure/IsaMakefile	Tue Feb 08 17:27:18 2011 +0100
+++ b/src/Pure/IsaMakefile	Tue Feb 08 17:36:21 2011 +0100
@@ -30,7 +30,6 @@
   ML-Systems/multithreading_polyml.ML			\
   ML-Systems/overloading_smlnj.ML			\
   ML-Systems/polyml-5.2.1.ML				\
-  ML-Systems/polyml-5.2.ML				\
   ML-Systems/polyml.ML					\
   ML-Systems/polyml_common.ML				\
   ML-Systems/pp_dummy.ML				\
@@ -69,7 +68,6 @@
   Concurrent/synchronized_sequential.ML			\
   Concurrent/task_queue.ML				\
   Concurrent/time_limit.ML				\
-  Concurrent/time_limit_dummy.ML			\
   General/alist.ML					\
   General/antiquote.ML					\
   General/balanced_tree.ML				\
--- a/src/Pure/ML-Systems/polyml-5.2.ML	Tue Feb 08 17:27:18 2011 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,32 +0,0 @@
-(*  Title:      Pure/ML-Systems/polyml-5.2.ML
-
-Compatibility wrapper for Poly/ML 5.2.
-*)
-
-open Thread;
-
-structure ML_Name_Space =
-struct
-  open PolyML.NameSpace;
-  type T = PolyML.NameSpace.nameSpace;
-  val global = PolyML.globalNameSpace;
-end;
-
-fun reraise exn = raise exn;
-
-use "ML-Systems/polyml_common.ML";
-use "ML-Systems/thread_dummy.ML";
-use "ML-Systems/multithreading.ML";
-use "ML-Systems/unsynchronized.ML";
-
-val _ = PolyML.Compiler.forgetValue "ref";
-val _ = PolyML.Compiler.forgetType "ref";
-
-val pointer_eq = PolyML.pointerEq;
-
-fun share_common_data () = PolyML.shareCommonData PolyML.rootFunction;
-
-use "ML-Systems/compiler_polyml-5.2.ML";
-use "ML-Systems/pp_polyml.ML";
-use "ML-Systems/pp_dummy.ML";
-
--- a/src/Pure/ML-Systems/polyml_common.ML	Tue Feb 08 17:27:18 2011 +0100
+++ b/src/Pure/ML-Systems/polyml_common.ML	Tue Feb 08 17:36:21 2011 +0100
@@ -73,36 +73,6 @@
 
 
 
-(** interrupts **)
-
-local
-
-val sig_int = 2;
-val default_handler = Signal.SIG_HANDLE (fn _ => Process.interruptConsoleProcesses ());
-
-val _ = Signal.signal (sig_int, default_handler);
-val _ = PolyML.onEntry (fn () => (Signal.signal (sig_int, default_handler); ()));
-
-fun change_signal new_handler f x =
-  let
-    (*RACE wrt. other signals!*)
-    val old_handler = Signal.signal (sig_int, new_handler);
-    val result = Exn.capture (f old_handler) x;
-    val _ = Signal.signal (sig_int, old_handler);
-  in Exn.release result end;
-
-in
-
-fun interruptible f = change_signal default_handler (fn _ => f);
-
-fun uninterruptible f =
-  change_signal Signal.SIG_IGN
-    (fn old_handler => f (fn g => change_signal old_handler (fn _ => g)));
-
-end;
-
-
-
 (** OS related **)
 
 (* current directory *)
--- a/src/Pure/ROOT.ML	Tue Feb 08 17:27:18 2011 +0100
+++ b/src/Pure/ROOT.ML	Tue Feb 08 17:36:21 2011 +0100
@@ -72,9 +72,8 @@
 if Multithreading.available then ()
 else use "Concurrent/synchronized_sequential.ML";
 
-use "Concurrent/time_limit.ML";
-if Multithreading.available then ()
-else use "Concurrent/time_limit_dummy.ML";
+if String.isPrefix "smlnj" ml_system then ()
+else use "Concurrent/time_limit.ML";
 
 if Multithreading.available
 then use "Concurrent/bash.ML"
@@ -193,8 +192,7 @@
 use "ML/ml_env.ML";
 use "Isar/runtime.ML";
 use "ML/ml_compiler.ML";
-if ml_system = "polyml-5.2" orelse ml_system = "polyml-5.2.1" orelse
-  String.isPrefix "smlnj" ml_system then ()
+if ml_system = "polyml-5.2.1" orelse String.isPrefix "smlnj" ml_system then ()
 else use "ML/ml_compiler_polyml-5.3.ML";
 use "ML/ml_context.ML";
 
--- a/src/Pure/pure_setup.ML	Tue Feb 08 17:27:18 2011 +0100
+++ b/src/Pure/pure_setup.ML	Tue Feb 08 17:36:21 2011 +0100
@@ -36,7 +36,7 @@
 toplevel_pp ["Proof", "state"] "(fn _: Proof.state => Pretty.str \"<Proof.state>\")";
 toplevel_pp ["Toplevel", "state"] "Toplevel.pretty_abstract";
 
-if ml_system = "polyml-5.2" orelse ml_system = "polyml-5.2.1"
+if ml_system = "polyml-5.2.1"
 then use "ML/install_pp_polyml.ML"
 else if String.isPrefix "polyml" ml_system
 then use "ML/install_pp_polyml-5.3.ML"