renamed to mlworks.ML;
authorwenzelm
Tue, 16 Dec 1997 18:58:33 +0100
changeset 4425 4278142c6dba
parent 4424 1f15655f7307
child 4426 824cac1bbcfd
renamed to mlworks.ML;
src/Pure/ML-Systems/MLWorks.ML
--- a/src/Pure/ML-Systems/MLWorks.ML	Tue Dec 16 18:58:16 1997 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,113 +0,0 @@
-(*  Title:      Pure/MLWorks.ML
-    ID:         $Id$
-    Author:     Lawrence C Paulson, Cambridge University Computer Laboratory
-    Copyright   1996  University of Cambridge
-
-Compatibility file for MLWorks
-
-Build Pure by typing to MLWorks (in directory Pure)
-        use "ML-Systems/MLWorks.ML";
-        use "ROOT.ML";
-	collect_as_much_as_possible ();
-	Shell.saveImage ("/anfs/bigdisc/lcp/heaps/mlworks/Pure", false);
-
-Execute saved image by typing to the shell
-	mlimage -load /anfs/bigdisc/lcp/heaps/mlworks/Pure
-*)
-
-(*** Poly/ML emulation ***)
-
-(*Just for versions of MLWorks that don't provide the Option structure*)
-structure Option = General;
-
-(*To exit the system with an exit code -- an alternative to ^D *)
-fun exit 0 = OS.Process.exit OS.Process.success
-  | exit _ = OS.Process.exit OS.Process.failure;
-fun quit () = exit 0;
-
-(*To limit the printing depth [divided by 2 for comparibility with Poly/ML]*)
-fun print_depth n = ();
-
-(*Interface for toplevel pretty printers, see also Pure/install_pp.ML
-  CURRENTLY UNAVAILABLE*)
-fun make_pp path pprint = ();
-fun install_pp _ = ();
-
-
-(*** New Jersey ML parameters ***)
-
-(*** Character/string functions which are compatible with 0.93 and Poly/ML ***)
-
-fun ord s = Char.ord (String.sub(s,0));
-val chr = str o Char.chr;
-val explode = (map str) o String.explode;
-val implode = String.concat;
-
-
-(** Compiler-independent timing functions **)
-
-(*Note start point for timing*)
-fun startTiming() = 
-  let val CPUtimer = Timer.startCPUTimer();
-      val time = Timer.checkCPUTimer(CPUtimer)
-  in  (CPUtimer,time)  end;
-
-(*Finish timing and return string*)
-fun endTiming (CPUtimer, {gc,sys,usr}) =
-  let open Time  (*...for Time.toString, Time.+ and Time.- *)
-      val {gc=gc2,sys=sys2,usr=usr2} = Timer.checkCPUTimer(CPUtimer)
-  in  "User " ^ toString (usr2-usr) ^
-      "  GC " ^ toString (gc2-gc) ^
-      "  All "^ toString (sys2-sys + usr2-usr + gc2-gc) ^
-      " secs"
-      handle Time => ""
-  end;
-
-
-(*** File handling ***)
-
-(*Get time of last modification; if file doesn't exist return an empty string*)
-fun file_info "" = ""
-  | file_info name = Time.toString (OS.FileSys.modTime name) handle _ =>"";
-
-
-(*** ML command execution ***)
-
-val tmpName = OS.FileSys.tmpName();
-
-(*Can one redirect 'use' directly to an instream?*)
-fun use_strings slist =
-  let val tmpFile = TextIO.openOut tmpName
-  in app (fn s => TextIO.output (tmpFile, s)) slist;
-     TextIO.closeOut tmpFile;
-     use tmpName
-  end;
-
-
-(*** System command execution ***)
-
-(*Execute an Unix command which doesn't take any input from stdin and
-  sends its output to stdout.
-  This could be done more easily by Unix.execute, but that function
-  doesn't use the PATH.*)
-fun execute command =
-  let val is = (OS.Process.system (command ^ " > " ^ tmpName);
-                TextIO.openIn tmpName);
-      val result = TextIO.inputAll is;
-  in TextIO.closeIn is;
-     OS.FileSys.remove tmpName;
-     result
-  end;
-
-
-(* getenv *)
-
-fun getenv var =
-  (case OS.Process.getEnv var of
-    NONE => ""
-  | SOME txt => txt);
-
-
-(*Non-printing and 8-bit chars are forbidden in string constants*)
-val needs_filtered_use = true;
-