--- a/Admin/CHECKLIST Sat May 30 22:37:38 2009 +0200
+++ b/Admin/CHECKLIST Sun May 31 14:15:07 2009 +0200
@@ -1,8 +1,9 @@
Checklist for official releases
===============================
-- test mosml, polyml-5.2, polyml-5.1, polyml-5.0, polyml-4.1.3, polyml-4.1.4, polyml-4.2.0,
- sparc-solaris, x86-solaris;
+- test mosml, polyml-5.2, polyml-5.1, polyml-5.0;
+
+- test sparc-solaris, x86-solaris;
- test ProofGeneral;
--- a/Admin/isatest/settings/at-poly-4.1.3 Sat May 30 22:37:38 2009 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,27 +0,0 @@
-# -*- shell-script -*-
-
- POLYML_HOME="/home/polyml/polyml-4.1.3"
- ML_SYSTEM="polyml-4.1.3"
- ML_PLATFORM="x86-linux"
- ML_HOME="$POLYML_HOME/$ML_PLATFORM"
- ML_OPTIONS="-h 30000"
-
-ISABELLE_HOME_USER=~/isabelle-at-poly-4.1.3
-
-# Where to look for isabelle tools (multiple dirs separated by ':').
-ISABELLE_TOOLS="$ISABELLE_HOME/lib/Tools"
-
-# Location for temporary files (should be on a local file system).
-ISABELLE_TMP_PREFIX="/tmp/isabelle-$USER"
-
-
-# Heap input locations. ML system identifier is included in lookup.
-ISABELLE_PATH="$ISABELLE_HOME_USER/heaps:$ISABELLE_HOME/heaps"
-
-# Heap output location. ML system identifier is appended automatically later on.
-ISABELLE_OUTPUT="$ISABELLE_HOME_USER/heaps"
-ISABELLE_BROWSER_INFO="$ISABELLE_HOME_USER/browser_info"
-
-ISABELLE_USEDIR_OPTIONS="-i true -d pdf -v true"
-
-HOL_USEDIR_OPTIONS="-p 2"
--- a/Admin/isatest/settings/at-poly-e Sat May 30 22:37:38 2009 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,27 +0,0 @@
-# -*- shell-script -*-
-
- POLYML_HOME="/home/polyml/polyml-4.2.0"
- ML_SYSTEM="polyml-4.2.0"
- ML_PLATFORM="x86-linux"
- ML_HOME="$POLYML_HOME/$ML_PLATFORM"
- ML_OPTIONS="-h 30000"
-
-ISABELLE_HOME_USER=~/isabelle-at-poly-e
-
-# Where to look for isabelle tools (multiple dirs separated by ':').
-ISABELLE_TOOLS="$ISABELLE_HOME/lib/Tools"
-
-# Location for temporary files (should be on a local file system).
-ISABELLE_TMP_PREFIX="/tmp/isabelle-$USER"
-
-
-# Heap input locations. ML system identifier is included in lookup.
-ISABELLE_PATH="$ISABELLE_HOME_USER/heaps:$ISABELLE_HOME/heaps"
-
-# Heap output location. ML system identifier is appended automatically later on.
-ISABELLE_OUTPUT="$ISABELLE_HOME_USER/heaps"
-ISABELLE_BROWSER_INFO="$ISABELLE_HOME_USER/browser_info"
-
-ISABELLE_USEDIR_OPTIONS="-i true -d pdf -v true"
-
-HOL_USEDIR_OPTIONS="-p 2"
--- a/NEWS Sat May 30 22:37:38 2009 +0200
+++ b/NEWS Sun May 31 14:15:07 2009 +0200
@@ -33,6 +33,11 @@
Attrib/Method.setup introduced in Isabelle2009.
+*** System ***
+
+* Discontinued support for Poly/ML 4.x versions.
+
+
New in Isabelle2009 (April 2009)
--------------------------------
--- a/etc/settings Sat May 30 22:37:38 2009 +0200
+++ b/etc/settings Sun May 31 14:15:07 2009 +0200
@@ -15,7 +15,7 @@
# not invent new ML system names unless you know what you are doing.
# Only one of the sections below should be activated.
-# Poly/ML 4.x/5.x (automated settings)
+# Poly/ML 5.x (automated settings)
POLY_HOME="$(type -p poly)"; [ -n "$POLY_HOME" ] && POLY_HOME="$(dirname "$POLY_HOME")"
ML_PLATFORM=$("$ISABELLE_HOME/lib/scripts/polyml-platform")
ML_HOME=$(choosefrom \
@@ -41,12 +41,6 @@
#ML_SYSTEM=polyml-5.1
#ML_OPTIONS="-H 1000"
-# Poly/ML 4.2.0
-#ML_PLATFORM=x86-linux
-#ML_HOME=/usr/local/polyml/x86-linux
-#ML_SYSTEM=polyml-4.2.0
-#ML_OPTIONS="-H 80"
-
# Standard ML of New Jersey (slow!)
#ML_SYSTEM=smlnj-110
#ML_HOME="/usr/local/smlnj/bin"
--- a/lib/scripts/run-polyml-4.1.3 Sat May 30 22:37:38 2009 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,106 +0,0 @@
-#!/usr/bin/env bash
-#
-# Author: Markus Wenzel, TU Muenchen
-#
-# Poly/ML 4.x startup script.
-
-export -n INFILE OUTFILE COPYDB COMPRESS MLTEXT TERMINATE NOWRITE
-
-
-## diagnostics
-
-function fail_out()
-{
- echo "Unable to create output heap file: \"$OUTFILE\"" >&2
- exit 2
-}
-
-function check_file()
-{
- if [ ! -f "$1" ]; then
- echo "Unable to locate $1" >&2
- echo "Please check your ML system settings!" >&2
- exit 2
- fi
-}
-
-
-## Poly/ML executable and database
-
-ML_DBASE_PREFIX=""
-
-POLY="$ML_HOME/poly"
-check_file "$POLY"
-
-if [ -z "$ML_DBASE" ]; then
- if [ ! -e "$ML_HOME/ML_dbase" -a "$(basename "$ML_HOME")" = bin ]; then
- ML_DBASE_HOME="$(cd "$ML_HOME"; cd "$(pwd -P)"; cd ../lib/poly; pwd)"
- else
- ML_DBASE_HOME="$ML_HOME"
- fi
- if [ -z "$COPYDB" ]; then
- ML_DBASE_PREFIX="$ML_DBASE_HOME/"
- ML_DBASE="ML_dbase"
- else
- ML_DBASE="$ML_DBASE_HOME/ML_dbase"
- fi
- export POLYPATH="$ML_DBASE_HOME"
-else
- export POLYPATH="$(dirname "$ML_DBASE")"
-fi
-
-DISCGARB_OPTIONS="-d -c"
-
-EXIT="fun exit 0 = (OS.Process.exit OS.Process.success): unit | exit _ = OS.Process.exit OS.Process.failure;"
-
-
-## prepare databases
-
-if [ -z "$INFILE" ]; then
- check_file "$ML_DBASE_PREFIX$ML_DBASE"
- INFILE="$ML_DBASE"
- MLTEXT="val use = PolyML.use; $EXIT $MLTEXT"
- DISCGARB_OPTIONS="$DISCGARB_OPTIONS -S max"
-else
- COPYDB=true
-fi
-
-if [ -z "$OUTFILE" ]; then
- DB="$INFILE"
- ML_OPTIONS="-r $ML_OPTIONS"
-elif [ "$INFILE" -ef "$OUTFILE" ]; then
- DB="$INFILE"
-elif [ -n "$COPYDB" ]; then
- [ -f "$OUTFILE" ] && { rm -f "$OUTFILE" || fail_out; }
- cp "$INFILE" "$OUTFILE" || fail_out
- chmod +w "$OUTFILE" || fail_out
- DB="$OUTFILE"
-else
- [ -f "$OUTFILE" ] && { rm -f "$OUTFILE" || fail_out; }
- echo "PolyML.make_database \"$OUTFILE\"; PolyML.quit();" | "$POLY" -r "$INFILE"
- [ -f "$OUTFILE" ] || fail_out
- DB="$OUTFILE"
-fi
-
-
-## run it!
-
-if [ -z "$TERMINATE" ]; then
- FEEDER_OPTS=""
-else
- FEEDER_OPTS="-q"
-fi
-
-DB_INFO="$(ls -l "$DB" 2>/dev/null)"
-
-"$ISABELLE_HOME/lib/scripts/feeder" -p -h "$MLTEXT" $FEEDER_OPTS | {
- read FPID; "$POLY" $ML_OPTIONS "$DB";
- RC="$?"; kill -HUP "$FPID"; exit "$RC"; }
-RC="$?"
-
-NEW_DB_INFO="$(ls -l "$DB" 2>/dev/null)"
-[ -n "$OUTFILE" -a -n "$COMPRESS" -a "$DB_INFO" != "$NEW_DB_INFO" ] && \
- "$POLY" $DISCGARB_OPTIONS "$OUTFILE"
-[ -n "$OUTFILE" -a -f "$OUTFILE" -a -n "$NOWRITE" ] && chmod -w "$OUTFILE"
-
-exit "$RC"
--- a/lib/scripts/run-polyml-4.1.4 Sat May 30 22:37:38 2009 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,106 +0,0 @@
-#!/usr/bin/env bash
-#
-# Author: Markus Wenzel, TU Muenchen
-#
-# Poly/ML 4.x startup script.
-
-export -n INFILE OUTFILE COPYDB COMPRESS MLTEXT TERMINATE NOWRITE
-
-
-## diagnostics
-
-function fail_out()
-{
- echo "Unable to create output heap file: \"$OUTFILE\"" >&2
- exit 2
-}
-
-function check_file()
-{
- if [ ! -f "$1" ]; then
- echo "Unable to locate $1" >&2
- echo "Please check your ML system settings!" >&2
- exit 2
- fi
-}
-
-
-## Poly/ML executable and database
-
-ML_DBASE_PREFIX=""
-
-POLY="$ML_HOME/poly"
-check_file "$POLY"
-
-if [ -z "$ML_DBASE" ]; then
- if [ ! -e "$ML_HOME/ML_dbase" -a "$(basename "$ML_HOME")" = bin ]; then
- ML_DBASE_HOME="$(cd "$ML_HOME"; cd "$(pwd -P)"; cd ../lib/poly; pwd)"
- else
- ML_DBASE_HOME="$ML_HOME"
- fi
- if [ -z "$COPYDB" ]; then
- ML_DBASE_PREFIX="$ML_DBASE_HOME/"
- ML_DBASE="ML_dbase"
- else
- ML_DBASE="$ML_DBASE_HOME/ML_dbase"
- fi
- export POLYPATH="$ML_DBASE_HOME"
-else
- export POLYPATH="$(dirname "$ML_DBASE")"
-fi
-
-DISCGARB_OPTIONS="-d -c"
-
-EXIT="fun exit 0 = (OS.Process.exit OS.Process.success): unit | exit _ = OS.Process.exit OS.Process.failure;"
-
-
-## prepare databases
-
-if [ -z "$INFILE" ]; then
- check_file "$ML_DBASE_PREFIX$ML_DBASE"
- INFILE="$ML_DBASE"
- MLTEXT="val use = PolyML.use; $EXIT $MLTEXT"
- DISCGARB_OPTIONS="$DISCGARB_OPTIONS -S max"
-else
- COPYDB=true
-fi
-
-if [ -z "$OUTFILE" ]; then
- DB="$INFILE"
- ML_OPTIONS="-r $ML_OPTIONS"
-elif [ "$INFILE" -ef "$OUTFILE" ]; then
- DB="$INFILE"
-elif [ -n "$COPYDB" ]; then
- [ -f "$OUTFILE" ] && { rm -f "$OUTFILE" || fail_out; }
- cp "$INFILE" "$OUTFILE" || fail_out
- chmod +w "$OUTFILE" || fail_out
- DB="$OUTFILE"
-else
- [ -f "$OUTFILE" ] && { rm -f "$OUTFILE" || fail_out; }
- echo "PolyML.make_database \"$OUTFILE\"; PolyML.quit();" | "$POLY" -r "$INFILE"
- [ -f "$OUTFILE" ] || fail_out
- DB="$OUTFILE"
-fi
-
-
-## run it!
-
-if [ -z "$TERMINATE" ]; then
- FEEDER_OPTS=""
-else
- FEEDER_OPTS="-q"
-fi
-
-DB_INFO="$(ls -l "$DB" 2>/dev/null)"
-
-"$ISABELLE_HOME/lib/scripts/feeder" -p -h "$MLTEXT" $FEEDER_OPTS | {
- read FPID; "$POLY" $ML_OPTIONS "$DB";
- RC="$?"; kill -HUP "$FPID"; exit "$RC"; }
-RC="$?"
-
-NEW_DB_INFO="$(ls -l "$DB" 2>/dev/null)"
-[ -n "$OUTFILE" -a -n "$COMPRESS" -a "$DB_INFO" != "$NEW_DB_INFO" ] && \
- "$POLY" $DISCGARB_OPTIONS "$OUTFILE"
-[ -n "$OUTFILE" -a -f "$OUTFILE" -a -n "$NOWRITE" ] && chmod -w "$OUTFILE"
-
-exit "$RC"
--- a/lib/scripts/run-polyml-4.2.0 Sat May 30 22:37:38 2009 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,106 +0,0 @@
-#!/usr/bin/env bash
-#
-# Author: Markus Wenzel, TU Muenchen
-#
-# Poly/ML 4.x startup script.
-
-export -n INFILE OUTFILE COPYDB COMPRESS MLTEXT TERMINATE NOWRITE
-
-
-## diagnostics
-
-function fail_out()
-{
- echo "Unable to create output heap file: \"$OUTFILE\"" >&2
- exit 2
-}
-
-function check_file()
-{
- if [ ! -f "$1" ]; then
- echo "Unable to locate $1" >&2
- echo "Please check your ML system settings!" >&2
- exit 2
- fi
-}
-
-
-## Poly/ML executable and database
-
-ML_DBASE_PREFIX=""
-
-POLY="$ML_HOME/poly"
-check_file "$POLY"
-
-if [ -z "$ML_DBASE" ]; then
- if [ ! -e "$ML_HOME/ML_dbase" -a "$(basename "$ML_HOME")" = bin ]; then
- ML_DBASE_HOME="$(cd "$ML_HOME"; cd "$(pwd -P)"; cd ../lib/poly; pwd)"
- else
- ML_DBASE_HOME="$ML_HOME"
- fi
- if [ -z "$COPYDB" ]; then
- ML_DBASE_PREFIX="$ML_DBASE_HOME/"
- ML_DBASE="ML_dbase"
- else
- ML_DBASE="$ML_DBASE_HOME/ML_dbase"
- fi
- export POLYPATH="$ML_DBASE_HOME"
-else
- export POLYPATH="$(dirname "$ML_DBASE")"
-fi
-
-DISCGARB_OPTIONS="-d -c"
-
-EXIT="fun exit 0 = (OS.Process.exit OS.Process.success): unit | exit _ = OS.Process.exit OS.Process.failure;"
-
-
-## prepare databases
-
-if [ -z "$INFILE" ]; then
- check_file "$ML_DBASE_PREFIX$ML_DBASE"
- INFILE="$ML_DBASE"
- MLTEXT="val use = PolyML.use; $EXIT $MLTEXT"
- DISCGARB_OPTIONS="$DISCGARB_OPTIONS -S max"
-else
- COPYDB=true
-fi
-
-if [ -z "$OUTFILE" ]; then
- DB="$INFILE"
- ML_OPTIONS="-r $ML_OPTIONS"
-elif [ "$INFILE" -ef "$OUTFILE" ]; then
- DB="$INFILE"
-elif [ -n "$COPYDB" ]; then
- [ -f "$OUTFILE" ] && { rm -f "$OUTFILE" || fail_out; }
- cp "$INFILE" "$OUTFILE" || fail_out
- chmod +w "$OUTFILE" || fail_out
- DB="$OUTFILE"
-else
- [ -f "$OUTFILE" ] && { rm -f "$OUTFILE" || fail_out; }
- echo "PolyML.make_database \"$OUTFILE\"; PolyML.quit();" | "$POLY" -r "$INFILE"
- [ -f "$OUTFILE" ] || fail_out
- DB="$OUTFILE"
-fi
-
-
-## run it!
-
-if [ -z "$TERMINATE" ]; then
- FEEDER_OPTS=""
-else
- FEEDER_OPTS="-q"
-fi
-
-DB_INFO="$(ls -l "$DB" 2>/dev/null)"
-
-"$ISABELLE_HOME/lib/scripts/feeder" -p -h "$MLTEXT" $FEEDER_OPTS | {
- read FPID; "$POLY" $ML_OPTIONS "$DB";
- RC="$?"; kill -HUP "$FPID"; exit "$RC"; }
-RC="$?"
-
-NEW_DB_INFO="$(ls -l "$DB" 2>/dev/null)"
-[ -n "$OUTFILE" -a -n "$COMPRESS" -a "$DB_INFO" != "$NEW_DB_INFO" ] && \
- "$POLY" $DISCGARB_OPTIONS "$OUTFILE"
-[ -n "$OUTFILE" -a -f "$OUTFILE" -a -n "$NOWRITE" ] && chmod -w "$OUTFILE"
-
-exit "$RC"
--- a/src/Pure/IsaMakefile Sat May 30 22:37:38 2009 +0200
+++ b/src/Pure/IsaMakefile Sun May 31 14:15:07 2009 +0200
@@ -22,11 +22,9 @@
BOOTSTRAP_FILES = ML-Systems/exn.ML ML-Systems/ml_name_space.ML \
ML-Systems/ml_pretty.ML ML-Systems/mosml.ML \
ML-Systems/multithreading.ML ML-Systems/multithreading_polyml.ML \
- ML-Systems/overloading_smlnj.ML ML-Systems/polyml-4.1.3.ML \
- ML-Systems/polyml-4.1.4.ML ML-Systems/polyml-4.2.0.ML \
- ML-Systems/polyml-5.0.ML ML-Systems/polyml-5.1.ML \
- ML-Systems/polyml-experimental.ML ML-Systems/polyml.ML \
- ML-Systems/polyml_common.ML ML-Systems/polyml_old_compiler4.ML \
+ ML-Systems/overloading_smlnj.ML ML-Systems/polyml-5.0.ML \
+ ML-Systems/polyml-5.1.ML ML-Systems/polyml-experimental.ML \
+ ML-Systems/polyml.ML ML-Systems/polyml_common.ML \
ML-Systems/polyml_old_compiler5.ML ML-Systems/polyml_pp.ML \
ML-Systems/proper_int.ML ML-Systems/smlnj.ML \
ML-Systems/system_shell.ML ML-Systems/thread_dummy.ML \
--- a/src/Pure/ML-Systems/polyml-4.1.3.ML Sat May 30 22:37:38 2009 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,15 +0,0 @@
-(* Title: Pure/ML-Systems/polyml-4.1.3.ML
-
-Compatibility wrapper for Poly/ML 4.1.3.
-*)
-
-use "ML-Systems/polyml_old_basis.ML";
-use "ML-Systems/universal.ML";
-use "ML-Systems/thread_dummy.ML";
-use "ML-Systems/ml_name_space.ML";
-use "ML-Systems/polyml_common.ML";
-use "ML-Systems/polyml_old_compiler4.ML";
-use "ML-Systems/polyml_pp.ML";
-
-val pointer_eq = Address.wordEq;
-
--- a/src/Pure/ML-Systems/polyml-4.1.4.ML Sat May 30 22:37:38 2009 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,15 +0,0 @@
-(* Title: Pure/ML-Systems/polyml-4.1.4.ML
-
-Compatibility wrapper for Poly/ML 4.1.4.
-*)
-
-use "ML-Systems/polyml_old_basis.ML";
-use "ML-Systems/universal.ML";
-use "ML-Systems/thread_dummy.ML";
-use "ML-Systems/ml_name_space.ML";
-use "ML-Systems/polyml_common.ML";
-use "ML-Systems/polyml_old_compiler4.ML";
-use "ML-Systems/polyml_pp.ML";
-
-val pointer_eq = Address.wordEq;
-
--- a/src/Pure/ML-Systems/polyml-4.2.0.ML Sat May 30 22:37:38 2009 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,14 +0,0 @@
-(* Title: Pure/ML-Systems/polyml-4.2.0.ML
-
-Compatibility wrapper for Poly/ML 4.2.0.
-*)
-
-use "ML-Systems/universal.ML";
-use "ML-Systems/thread_dummy.ML";
-use "ML-Systems/ml_name_space.ML";
-use "ML-Systems/polyml_common.ML";
-use "ML-Systems/polyml_old_compiler4.ML";
-use "ML-Systems/polyml_pp.ML";
-
-val pointer_eq = Address.wordEq;
-
--- a/src/Pure/ML-Systems/polyml_common.ML Sat May 30 22:37:38 2009 +0200
+++ b/src/Pure/ML-Systems/polyml_common.ML Sun May 31 14:15:07 2009 +0200
@@ -1,6 +1,6 @@
(* Title: Pure/ML-Systems/polyml_common.ML
-Compatibility file for Poly/ML -- common part for 4.x and 5.x.
+Compatibility file for Poly/ML -- common part for 5.x.
*)
exception Interrupt = SML90.Interrupt;
--- a/src/Pure/ML-Systems/polyml_old_basis.ML Sat May 30 22:37:38 2009 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,29 +0,0 @@
-(* Title: Pure/ML-Systems/polyml_old_basis.ML
-
-Fixes for the old SML basis library (before Poly/ML 4.2.0).
-*)
-
-structure String =
-struct
- fun isSuffix s1 s2 =
- let val n1 = size s1 and n2 = size s2
- in if n1 = n2 then s1 = s2 else n1 <= n2 andalso String.substring (s2, n2 - n1, n1) = s1 end;
- fun isSubstring s1 s2 =
- String.isPrefix s1 s2 orelse
- size s1 < size s2 andalso isSubstring s1 (String.extract (s2, 1, NONE));
- open String;
-end;
-
-structure Substring =
-struct
- open Substring;
- val full = all;
-end;
-
-structure TextIO =
-struct
- open TextIO;
- fun inputLine is =
- let val s = TextIO.inputLine is
- in if s = "" then NONE else SOME s end;
-end;
--- a/src/Pure/ML-Systems/polyml_old_compiler4.ML Sat May 30 22:37:38 2009 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,32 +0,0 @@
-(* Title: Pure/ML-Systems/polyml_old_compiler4.ML
-
-Runtime compilation -- for old PolyML.compiler (version 4.x).
-*)
-
-fun use_text ({tune_source, print, error, ...}: use_context) (line: int, name) verbose txt =
- let
- val in_buffer = ref (explode (tune_source txt));
- val out_buffer = ref ([]: string list);
- fun output () = implode (rev (case ! out_buffer of "\n" :: cs => cs | cs => cs));
-
- fun get () =
- (case ! in_buffer of
- [] => ""
- | c :: cs => (in_buffer := cs; c));
- fun put s = out_buffer := s :: ! out_buffer;
-
- fun exec () =
- (case ! in_buffer of
- [] => ()
- | _ => (PolyML.compiler (get, put) (); exec ()));
- in
- exec () handle exn =>
- (error ((if name = "" then "" else "Error in " ^ name ^ "\n") ^ output ()); raise exn);
- if verbose then print (output ()) else ()
- end;
-
-fun use_file context verbose name =
- let
- val instream = TextIO.openIn name;
- val txt = Exn.release (Exn.capture TextIO.inputAll instream before TextIO.closeIn instream);
- in use_text context (1, name) verbose txt end;