[MLton-commit] r5169

Matthew Fluet fluet at mlton.org
Sun Feb 11 16:33:14 PST 2007


Merge trunk revisions r5074:5168 into x86_64 branch
----------------------------------------------------------------------

U   mlton/branches/on-20050822-x86_64-branch/bin/upgrade-basis
A   mlton/branches/on-20050822-x86_64-branch/ide/emacs/bg-job.el
A   mlton/branches/on-20050822-x86_64-branch/ide/emacs/def-use-data.el
A   mlton/branches/on-20050822-x86_64-branch/ide/emacs/def-use-mode.el
A   mlton/branches/on-20050822-x86_64-branch/ide/emacs/def-use-util.el
A   mlton/branches/on-20050822-x86_64-branch/ide/emacs/esml-du-mlton.el
U   mlton/branches/on-20050822-x86_64-branch/ide/emacs/esml-gen.el
U   mlton/branches/on-20050822-x86_64-branch/ide/emacs/esml-mlb-mode.el
U   mlton/branches/on-20050822-x86_64-branch/ide/emacs/esml-util.el
U   mlton/branches/on-20050822-x86_64-branch/include/x86-main.h
U   mlton/branches/on-20050822-x86_64-branch/mlton/ast/ast-atoms.fun
U   mlton/branches/on-20050822-x86_64-branch/mlton/ast/ast-atoms.sig
U   mlton/branches/on-20050822-x86_64-branch/mlton/ast/ast-const.fun
U   mlton/branches/on-20050822-x86_64-branch/mlton/ast/ast-const.sig
U   mlton/branches/on-20050822-x86_64-branch/mlton/ast/ast-core.fun
U   mlton/branches/on-20050822-x86_64-branch/mlton/ast/ast-core.sig
U   mlton/branches/on-20050822-x86_64-branch/mlton/ast/ast-id.fun
U   mlton/branches/on-20050822-x86_64-branch/mlton/ast/ast-id.sig
U   mlton/branches/on-20050822-x86_64-branch/mlton/ast/ast-mlbs.fun
U   mlton/branches/on-20050822-x86_64-branch/mlton/ast/ast-mlbs.sig
U   mlton/branches/on-20050822-x86_64-branch/mlton/ast/ast-modules.fun
U   mlton/branches/on-20050822-x86_64-branch/mlton/ast/ast-modules.sig
U   mlton/branches/on-20050822-x86_64-branch/mlton/ast/ast-programs.fun
U   mlton/branches/on-20050822-x86_64-branch/mlton/ast/ast-programs.sig
U   mlton/branches/on-20050822-x86_64-branch/mlton/ast/int-size.fun
U   mlton/branches/on-20050822-x86_64-branch/mlton/ast/int-size.sig
U   mlton/branches/on-20050822-x86_64-branch/mlton/ast/longid.fun
U   mlton/branches/on-20050822-x86_64-branch/mlton/ast/longid.sig
U   mlton/branches/on-20050822-x86_64-branch/mlton/ast/prim-tycons.fun
U   mlton/branches/on-20050822-x86_64-branch/mlton/ast/prim-tycons.sig
U   mlton/branches/on-20050822-x86_64-branch/mlton/ast/real-size.fun
U   mlton/branches/on-20050822-x86_64-branch/mlton/ast/real-size.sig
U   mlton/branches/on-20050822-x86_64-branch/mlton/ast/record.fun
U   mlton/branches/on-20050822-x86_64-branch/mlton/ast/record.sig
U   mlton/branches/on-20050822-x86_64-branch/mlton/ast/tyvar.fun
U   mlton/branches/on-20050822-x86_64-branch/mlton/ast/word-size.fun
U   mlton/branches/on-20050822-x86_64-branch/mlton/ast/word-size.sig
U   mlton/branches/on-20050822-x86_64-branch/mlton/atoms/atoms.fun
U   mlton/branches/on-20050822-x86_64-branch/mlton/atoms/atoms.sig
U   mlton/branches/on-20050822-x86_64-branch/mlton/atoms/c-function.fun
U   mlton/branches/on-20050822-x86_64-branch/mlton/atoms/c-type.fun
U   mlton/branches/on-20050822-x86_64-branch/mlton/atoms/c-type.sig
U   mlton/branches/on-20050822-x86_64-branch/mlton/atoms/con-.fun
U   mlton/branches/on-20050822-x86_64-branch/mlton/atoms/const-type.fun
U   mlton/branches/on-20050822-x86_64-branch/mlton/atoms/const-type.sig
U   mlton/branches/on-20050822-x86_64-branch/mlton/atoms/const.fun
U   mlton/branches/on-20050822-x86_64-branch/mlton/atoms/const.sig
U   mlton/branches/on-20050822-x86_64-branch/mlton/atoms/generic-scheme.fun
U   mlton/branches/on-20050822-x86_64-branch/mlton/atoms/generic-scheme.sig
U   mlton/branches/on-20050822-x86_64-branch/mlton/atoms/hash-type.fun
U   mlton/branches/on-20050822-x86_64-branch/mlton/atoms/hash-type.sig
U   mlton/branches/on-20050822-x86_64-branch/mlton/atoms/prim.fun
U   mlton/branches/on-20050822-x86_64-branch/mlton/atoms/prim.sig
U   mlton/branches/on-20050822-x86_64-branch/mlton/atoms/profile-label.fun
U   mlton/branches/on-20050822-x86_64-branch/mlton/atoms/profile-label.sig
U   mlton/branches/on-20050822-x86_64-branch/mlton/atoms/source-info.fun
U   mlton/branches/on-20050822-x86_64-branch/mlton/atoms/source-info.sig
U   mlton/branches/on-20050822-x86_64-branch/mlton/atoms/tycon.fun
U   mlton/branches/on-20050822-x86_64-branch/mlton/atoms/type-ops.fun
U   mlton/branches/on-20050822-x86_64-branch/mlton/atoms/type-ops.sig
U   mlton/branches/on-20050822-x86_64-branch/mlton/atoms/word-x-vector.fun
U   mlton/branches/on-20050822-x86_64-branch/mlton/atoms/word-x.fun
U   mlton/branches/on-20050822-x86_64-branch/mlton/atoms/word-x.sig
U   mlton/branches/on-20050822-x86_64-branch/mlton/backend/machine.fun
U   mlton/branches/on-20050822-x86_64-branch/mlton/backend/machine.sig
U   mlton/branches/on-20050822-x86_64-branch/mlton/backend/pointer-tycon.fun
U   mlton/branches/on-20050822-x86_64-branch/mlton/backend/pointer-tycon.sig
U   mlton/branches/on-20050822-x86_64-branch/mlton/backend/rep-type.fun
U   mlton/branches/on-20050822-x86_64-branch/mlton/backend/rep-type.sig
U   mlton/branches/on-20050822-x86_64-branch/mlton/backend/rssa.fun
U   mlton/branches/on-20050822-x86_64-branch/mlton/backend/rssa.sig
U   mlton/branches/on-20050822-x86_64-branch/mlton/backend/runtime.fun
U   mlton/branches/on-20050822-x86_64-branch/mlton/backend/runtime.sig
U   mlton/branches/on-20050822-x86_64-branch/mlton/backend/ssa-to-rssa.fun
U   mlton/branches/on-20050822-x86_64-branch/mlton/codegen/x86-codegen/peephole.fun
U   mlton/branches/on-20050822-x86_64-branch/mlton/codegen/x86-codegen/peephole.sig
U   mlton/branches/on-20050822-x86_64-branch/mlton/codegen/x86-codegen/x86-generate-transfers.fun
U   mlton/branches/on-20050822-x86_64-branch/mlton/codegen/x86-codegen/x86-live-transfers.sig
U   mlton/branches/on-20050822-x86_64-branch/mlton/codegen/x86-codegen/x86-liveness.fun
U   mlton/branches/on-20050822-x86_64-branch/mlton/codegen/x86-codegen/x86-liveness.sig
U   mlton/branches/on-20050822-x86_64-branch/mlton/codegen/x86-codegen/x86-mlton-basic.fun
U   mlton/branches/on-20050822-x86_64-branch/mlton/codegen/x86-codegen/x86-mlton-basic.sig
U   mlton/branches/on-20050822-x86_64-branch/mlton/codegen/x86-codegen/x86-mlton.fun
U   mlton/branches/on-20050822-x86_64-branch/mlton/codegen/x86-codegen/x86-pseudo.sig
U   mlton/branches/on-20050822-x86_64-branch/mlton/codegen/x86-codegen/x86-simplify.fun
U   mlton/branches/on-20050822-x86_64-branch/mlton/codegen/x86-codegen/x86.fun
U   mlton/branches/on-20050822-x86_64-branch/mlton/codegen/x86-codegen/x86.sig
U   mlton/branches/on-20050822-x86_64-branch/mlton/control/bits.sml
U   mlton/branches/on-20050822-x86_64-branch/mlton/control/control-flags.sig
U   mlton/branches/on-20050822-x86_64-branch/mlton/control/control-flags.sml
U   mlton/branches/on-20050822-x86_64-branch/mlton/control/control.sml
U   mlton/branches/on-20050822-x86_64-branch/mlton/control/source-pos.sig
U   mlton/branches/on-20050822-x86_64-branch/mlton/control/source-pos.sml
U   mlton/branches/on-20050822-x86_64-branch/mlton/core-ml/core-ml.fun
U   mlton/branches/on-20050822-x86_64-branch/mlton/core-ml/core-ml.sig
U   mlton/branches/on-20050822-x86_64-branch/mlton/elaborate/elaborate-core.fun
U   mlton/branches/on-20050822-x86_64-branch/mlton/elaborate/elaborate-env.fun
U   mlton/branches/on-20050822-x86_64-branch/mlton/elaborate/elaborate-env.sig
U   mlton/branches/on-20050822-x86_64-branch/mlton/elaborate/interface.fun
U   mlton/branches/on-20050822-x86_64-branch/mlton/elaborate/interface.sig
U   mlton/branches/on-20050822-x86_64-branch/mlton/elaborate/type-env.fun
U   mlton/branches/on-20050822-x86_64-branch/mlton/elaborate/type-env.sig
U   mlton/branches/on-20050822-x86_64-branch/mlton/front-end/mlb-front-end.fun
U   mlton/branches/on-20050822-x86_64-branch/mlton/main/main.fun
U   mlton/branches/on-20050822-x86_64-branch/mlton/match-compile/match-compile.sig
U   mlton/branches/on-20050822-x86_64-branch/mlton/match-compile/nested-pat.fun
U   mlton/branches/on-20050822-x86_64-branch/mlton/match-compile/nested-pat.sig
U   mlton/branches/on-20050822-x86_64-branch/mlton/ssa/direct-exp.fun
U   mlton/branches/on-20050822-x86_64-branch/mlton/ssa/direct-exp.sig
U   mlton/branches/on-20050822-x86_64-branch/mlton/ssa/prepasses.fun
U   mlton/branches/on-20050822-x86_64-branch/mlton/ssa/prepasses2.fun
U   mlton/branches/on-20050822-x86_64-branch/mlton/ssa/restore.fun
U   mlton/branches/on-20050822-x86_64-branch/mlton/ssa/sources.mlb
U   mlton/branches/on-20050822-x86_64-branch/mlton/ssa/ssa-tree.fun
U   mlton/branches/on-20050822-x86_64-branch/mlton/ssa/ssa-tree.sig
U   mlton/branches/on-20050822-x86_64-branch/mlton/ssa/ssa-tree2.fun
U   mlton/branches/on-20050822-x86_64-branch/mlton/ssa/ssa-tree2.sig
U   mlton/branches/on-20050822-x86_64-branch/mlton/xml/xml-tree.fun
U   mlton/branches/on-20050822-x86_64-branch/mlton/xml/xml-tree.sig
U   mlton/branches/on-20050822-x86_64-branch/runtime/platform/mingw.c
U   mlton/branches/on-20050822-x86_64-branch/runtime/platform/mingw.h

----------------------------------------------------------------------

Modified: mlton/branches/on-20050822-x86_64-branch/bin/upgrade-basis
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/bin/upgrade-basis	2007-02-11 21:17:01 UTC (rev 5168)
+++ mlton/branches/on-20050822-x86_64-branch/bin/upgrade-basis	2007-02-12 00:32:57 UTC (rev 5169)
@@ -219,7 +219,7 @@
                              (Cygwin, "Cygwin"),
                              (Darwin, "Darwin"),
                              (FreeBSD, "FreeBSD"),
-			     (HPUX, "HPUX"),
+                             (HPUX, "HPUX"),
                              (Linux, "Linux"),
                              (MinGW, "MinGW"),
                              (NetBSD, "NetBSD"),

Copied: mlton/branches/on-20050822-x86_64-branch/ide/emacs/bg-job.el (from rev 5168, mlton/trunk/ide/emacs/bg-job.el)

Copied: mlton/branches/on-20050822-x86_64-branch/ide/emacs/def-use-data.el (from rev 5168, mlton/trunk/ide/emacs/def-use-data.el)

Copied: mlton/branches/on-20050822-x86_64-branch/ide/emacs/def-use-mode.el (from rev 5168, mlton/trunk/ide/emacs/def-use-mode.el)

Copied: mlton/branches/on-20050822-x86_64-branch/ide/emacs/def-use-util.el (from rev 5168, mlton/trunk/ide/emacs/def-use-util.el)

Copied: mlton/branches/on-20050822-x86_64-branch/ide/emacs/esml-du-mlton.el (from rev 5168, mlton/trunk/ide/emacs/esml-du-mlton.el)

Modified: mlton/branches/on-20050822-x86_64-branch/ide/emacs/esml-gen.el
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/ide/emacs/esml-gen.el	2007-02-11 21:17:01 UTC (rev 5168)
+++ mlton/branches/on-20050822-x86_64-branch/ide/emacs/esml-gen.el	2007-02-12 00:32:57 UTC (rev 5169)
@@ -3,7 +3,6 @@
 ;; MLton is released under a BSD-style license.
 ;; See the file MLton-LICENSE for details.
 
-(require 'cl)
 (require 'esml-util)
 
 ;; Installation
@@ -27,16 +26,7 @@
 ;; Prelude
 
 ;; TBD: Consider moving these to another place if/when it makes sense.
-(defconst esml-sml-symbolic-chars
-  "-!%&$#+/:<=>?@~`^|*\\"
-  "A string of all Standard ML symbolic characters as defined in section
-2.4 of the Definition.")
 
-(defconst esml-sml-alphanumeric-chars
-  "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'_"
-  "A string of all Standard ML alphanumeric characters as defined in
-section 2.4 of the Definition.")
-
 (defun esml-extract-field-names (pattern-or-type)
   (let ((fields nil))
     (with-temp-buffer
@@ -94,7 +84,7 @@
   (let* ((fields (esml-extract-field-names pattern-or-type))
          (n (length fields)))
     (if (< n 2)
-        (error 'invalid-argument "Record must have at least two fields.")
+        (esml-error "%s" "Record must have at least two fields")
       (let ((fields (sort fields 'string-lessp))
             (start (point)))
         (labels ((format-fields
@@ -154,7 +144,7 @@
   (interactive "nMaximum number of fields [2-100]: ")
   (if (not (and (<= 2 n)
                 (<= n 100)))
-      (error 'invalid-argument "Number of fields must be between 2 and 100.")
+      (esml-error "%s" "Number of fields must be between 2 and 100")
     (labels ((format-fields
               (fmt n)
               (with-temp-buffer

Modified: mlton/branches/on-20050822-x86_64-branch/ide/emacs/esml-mlb-mode.el
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/ide/emacs/esml-mlb-mode.el	2007-02-11 21:17:01 UTC (rev 5168)
+++ mlton/branches/on-20050822-x86_64-branch/ide/emacs/esml-mlb-mode.el	2007-02-12 00:32:57 UTC (rev 5169)
@@ -1,4 +1,4 @@
-;; Copyright (C) 2005 Vesa Karvonen
+;; Copyright (C) 2005-2007 Vesa Karvonen
 ;;
 ;; MLton is released under a BSD-style license.
 ;; See the file MLton-LICENSE for details.
@@ -200,7 +200,7 @@
 
 (defun esml-mlb-parse-path-variables-from-string (path-map-string)
   (mapcar (function
-           (lambda (s) (apply 'cons (esml-split-string s "[ \t]+"))))
+           (lambda (s) (apply (function cons) (esml-split-string s "[ \t]+"))))
           (esml-split-string path-map-string "[ \t]*\n+[ \t]*")))
 
 (defun esml-mlb-parse-path-variables ()
@@ -247,7 +247,7 @@
                 parts)
           (delete-char (- 1 (point))))
         (goto-char 0)))
-    (apply 'concat (reverse parts))))
+    (apply (function concat) (reverse parts))))
 
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 ;; Syntax and highlighting
@@ -320,7 +320,7 @@
            . font-lock-constant-face)
           ;; annotations
           (,(apply
-             'concat
+             (function concat)
              "\"[ \t]*" esml-mlb-compiler-ann-prefix "?\\("
              (reduce
               (function
@@ -674,7 +674,7 @@
                            ".basis"))
                 (buffer (get-buffer-create esml-mlb-show-basis-process-name)))
     (when (file-exists-p tmp-file)
-      (esml-error "temporary basis file already exists: %s" tmp-file))
+      (esml-error "Temporary basis file already exists: %s" tmp-file))
     (save-excursion
       (set-buffer buffer)
       (delete-region (point-min) (point-max)))
@@ -699,8 +699,8 @@
                 (toggle-read-only)
                 (delete-file tmp-file))
             (switch-to-buffer buffer))
-          (message event)))))
-    (message "show-basis running...")))
+          (message "%S" event)))))
+    (message "%s" "show-basis running...")))
 
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 ;; Key Map

Modified: mlton/branches/on-20050822-x86_64-branch/ide/emacs/esml-util.el
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/ide/emacs/esml-util.el	2007-02-11 21:17:01 UTC (rev 5168)
+++ mlton/branches/on-20050822-x86_64-branch/ide/emacs/esml-util.el	2007-02-12 00:32:57 UTC (rev 5169)
@@ -5,9 +5,20 @@
 
 (require 'cl)
 
-;; Some general purpose Emacs Lisp utility functions
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;; SML metadata
 
+(defconst esml-sml-symbolic-chars "-!%&$#+/:<=>?@~`^|*\\"
+  "A string of all Standard ML symbolic characters as defined in section
+2.4 of the Definition.")
+
+(defconst esml-sml-alphanumeric-chars
+  "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'_"
+  "A string of all Standard ML alphanumeric characters as defined in
+section 2.4 of the Definition.")
+
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;; Some general purpose Emacs Lisp utility functions
 
 (defun esml-point-preceded-by (regexp)
   "Determines whether point is immediately preceded by the given regexp.
@@ -36,16 +47,17 @@
   (remove* "" (split-string string separator) :test 'equal))
 
 ;; workaround for incompatibility between GNU Emacs and XEmacs
-(defun esml-replace-regexp-in-string (str regexp rep)
-  (if (string-match "XEmacs" emacs-version)
-      (replace-in-string str regexp rep t)
+(if (string-match "XEmacs" emacs-version)
+    (defun esml-replace-regexp-in-string (str regexp rep)
+      (replace-in-string str regexp rep t))
+  (defun esml-replace-regexp-in-string (str regexp rep)
     (replace-regexp-in-string regexp rep str t t)))
 
 ;; workaround for incompatibility between GNU Emacs and XEmacs
-(defun esml-error (str &rest objs)
-  (if (string-match "XEmacs" emacs-version)
-      (error 'error (apply 'format str objs))
-    (apply 'error str objs)))
+(if (string-match "XEmacs" emacs-version)
+    (defun esml-error (str &rest objs)
+      (error 'error (concat "Error: " (apply (function format) str objs) ".")))
+  (defalias 'esml-error (function error)))
 
 (defun esml-string-matches-p (regexp str)
   "Non-nil iff the entire string matches the regexp."

Modified: mlton/branches/on-20050822-x86_64-branch/include/x86-main.h
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/include/x86-main.h	2007-02-11 21:17:01 UTC (rev 5168)
+++ mlton/branches/on-20050822-x86_64-branch/include/x86-main.h	2007-02-12 00:32:57 UTC (rev 5169)
@@ -16,16 +16,10 @@
 Word32 checkTemp;
 Word32 cReturnTemp[16];
 Pointer c_stackP;
-Word32 c_stackPTrue;
 Word32 divTemp;
-Word32 eq1Temp;
-Word32 eq2Temp;
-Word32 fileTemp;
 Word32 fildTemp;
 Word32 fpswTemp;
 Word32 indexTemp;
-Word32 intInfTemp;
-char MLton_bug_msg[] = "cps machine";
 Word32 raTemp1;
 Real64 raTemp2;
 Real64 realTemp1D;
@@ -36,15 +30,9 @@
 Real32 realTemp3S;
 Word32 spill[16];
 Word32 stackTopTemp;
-Word32 statusTemp;
-Word32 switchTemp;
-Word32 threadTemp;
 Word8 wordTemp1B;
-Word8 wordTemp2B;
 Word16 wordTemp1W;
-Word16 wordTemp2W;
 Word32 wordTemp1L;
-Word32 wordTemp2L;
 
 #ifndef DEBUG_X86CODEGEN
 #define DEBUG_X86CODEGEN FALSE

Modified: mlton/branches/on-20050822-x86_64-branch/mlton/ast/ast-atoms.fun
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/mlton/ast/ast-atoms.fun	2007-02-11 21:17:01 UTC (rev 5168)
+++ mlton/branches/on-20050822-x86_64-branch/mlton/ast/ast-atoms.fun	2007-02-12 00:32:57 UTC (rev 5169)
@@ -92,16 +92,7 @@
       in
          val toCon = make Con.fromSymbol
          val toVar = make Var.fromSymbol
-         val toFctid = make Fctid.fromSymbol
-         val toStrid = make Strid.fromSymbol
       end
-      val bind = fromCon Con.bind
-      val cons = fromCon Con.cons
-      val falsee = fromCon Con.falsee
-      val match = fromCon Con.match
-      val nill = fromCon Con.nill
-      val reff = fromCon Con.reff
-      val truee = fromCon Con.truee
    end
 
 structure Longtycon =
@@ -113,8 +104,6 @@
       open T
 
       val arrow = short Tycon.arrow
-
-      val exn = short Tycon.exn
    end
 
 structure Longvar = Longid (structure Id = Var
@@ -142,31 +131,14 @@
                             structure Symbol = Symbol)
 
       open L
-      fun fromLongcon (c: Longcon.t): t =
-         let
-            val (strids, id) = Longcon.split c
-         in
-            makeRegion (T {strids = strids, id = Vid.fromCon id},
-                        Longcon.region c)
-         end
       local
          fun to (make,node, conv) x =
             let val (T {strids, id}, region) = dest x
             in make (node {strids = strids, id =  conv id}, region)
             end
       in
-         val toLongvar = to (Longvar.makeRegion, Longvar.T, Vid.toVar)
          val toLongcon = to (Longcon.makeRegion, Longcon.T, Vid.toCon)
-         val toLongstrid = to (Longstrid.makeRegion, Longstrid.T, Vid.toStrid)
       end
-
-      val bind = short Vid.bind
-      val cons = short Vid.cons
-      val falsee = short Vid.falsee
-      val match = short Vid.match
-      val nill = short Vid.nill
-      val reff = short Vid.reff
-      val truee = short Vid.truee
    end
 
 open Layout
@@ -215,7 +187,7 @@
       open Wrap
       datatype node =
          Con of Longtycon.t * t vector
-       | Record of node Wrap.t Record.t (* kit barfs on t Record.t *)
+       | Record of t Record.t
        | Var of Tyvar.t
       withtype t = node Wrap.t
       type node' = node
@@ -234,8 +206,6 @@
 
       fun arrow (t1, t2) = con (Tycon.arrow, Vector.new2 (t1, t2))
 
-      val exn = con (Tycon.exn, Vector.new0 ())
-
       fun layoutApp (tycon, args: 'a vector, layoutArg) =
          case Vector.length args of
             0 => tycon

Modified: mlton/branches/on-20050822-x86_64-branch/mlton/ast/ast-atoms.sig
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/mlton/ast/ast-atoms.sig	2007-02-11 21:17:01 UTC (rev 5168)
+++ mlton/branches/on-20050822-x86_64-branch/mlton/ast/ast-atoms.sig	2007-02-12 00:32:57 UTC (rev 5169)
@@ -56,14 +56,12 @@
             val fromCon: Con.t -> t
             val toVar: t -> Var.t
             val toCon: t -> Con.t
-            val toFctid: t -> Fctid.t
          end
 
       structure Longtycon:
          sig
             include LONGID
             val arrow: t
-            val exn: t
          end sharing Longtycon.Id = Tycon
 
       structure Longvar: LONGID sharing Longvar.Id = Var
@@ -73,18 +71,7 @@
          sig
             include LONGID
 
-            val bind: t
-            val cons: t
-            val falsee: t
-            val match: t
-            val nill: t
-            val reff: t
-            val truee: t
-
-            val fromLongcon: Longcon.t -> t
-            val toLongvar: t -> Longvar.t
             val toLongcon: t -> Longcon.t
-            val toLongstrid: t -> Longstrid.t
          end sharing Longvid.Id = Vid
 
       sharing Strid = Longtycon.Strid = Longvar.Strid = Longcon.Strid
@@ -108,7 +95,6 @@
             val arrow: t * t -> t
             val checkSyntax: t -> unit
             val con: Tycon.t * t vector -> t
-            val exn:  t
             val layout: t -> Layout.t
             val layoutApp: Layout.t * 'a vector * ('a -> Layout.t) -> Layout.t
             val layoutOption: t option -> Layout.t

Modified: mlton/branches/on-20050822-x86_64-branch/mlton/ast/ast-const.fun
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/mlton/ast/ast-const.fun	2007-02-11 21:17:01 UTC (rev 5168)
+++ mlton/branches/on-20050822-x86_64-branch/mlton/ast/ast-const.fun	2007-02-12 00:32:57 UTC (rev 5169)
@@ -22,8 +22,6 @@
 type node' = node
 type obj = t
 
-val equals = fn _ => Error.unimplemented "AstConst.equals"
-
 fun ordToString (c: IntInf.t): string =
       let
          fun loop (n: int, c: IntInf.t, ac: char list) =
@@ -58,6 +56,4 @@
        | Word w => str (concat ["0wx", IntInf.format (w, StringCvt.HEX)])
 end
 
-val toString = Layout.toString o layout
-
 end

Modified: mlton/branches/on-20050822-x86_64-branch/mlton/ast/ast-const.sig
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/mlton/ast/ast-const.sig	2007-02-11 21:17:01 UTC (rev 5168)
+++ mlton/branches/on-20050822-x86_64-branch/mlton/ast/ast-const.sig	2007-02-12 00:32:57 UTC (rev 5169)
@@ -25,8 +25,6 @@
       include WRAPPED sharing type node' = node
                       sharing type obj = t
 
-      val equals: t * t -> bool
       val layout: t -> Layout.t
       val ordToString: IntInf.t -> string
-      val toString: t -> string
    end

Modified: mlton/branches/on-20050822-x86_64-branch/mlton/ast/ast-core.fun
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/mlton/ast/ast-core.fun	2007-02-11 21:17:01 UTC (rev 5168)
+++ mlton/branches/on-20050822-x86_64-branch/mlton/ast/ast-core.fun	2007-02-12 00:32:57 UTC (rev 5169)
@@ -23,12 +23,6 @@
        | Infixr of int option
        | Nonfix
 
-      val bogus = Nonfix
-
-      val isInfix =
-         fn Nonfix => false
-          | _ => true
-
       val toString =
          fn Infix NONE => "infix"
           | Infix (SOME n) => "infix " ^ Int.toString n
@@ -64,13 +58,6 @@
                 else s
         end)
 
-structure Vector =
-   struct
-      open Vector
-
-      fun cons (x, v) = concat [new1 x, v]
-   end
-
 (*---------------------------------------------------*)
 (*                     Patterns                      *)
 (*---------------------------------------------------*)
@@ -109,42 +96,12 @@
       fun make n = makeRegion (n, Region.bogus)
 
       val wild = make Wild
-      val const = make o Const
       val constraint = make o Constraint
       val layered = make o Layered
 
-      val emptyList = make (List (Vector.new0 ()))
-
       fun longvid x = make (Var {name = x, fixop = Fixop.None})
       val var = longvid o Longvid.short o Vid.fromVar
 
-      fun con c =
-         if Con.equals (c, Con.nill) then emptyList
-         else longvid (Longvid.short (Vid.fromCon c))
-
-      fun app (c, p) =
-         let
-            val default = make (App (Longcon.short c, p))
-         in
-            if Con.equals (c, Con.cons)
-               then
-                  case node p of
-                     Tuple ps =>
-                        if 2 = Vector.length ps
-                           then
-                              let
-                                 val p0 = Vector.sub (ps, 0)
-                                 val p1 = Vector.sub (ps, 1)
-                              in
-                                 case node p1 of
-                                    List ps => make (List (Vector.cons (p0, ps)))
-                                  | _ => default
-                              end
-                        else default
-                   | _ => default
-            else default
-         end
-
       fun tuple ps =
          if 1 = Vector.length ps
             then Vector.sub (ps, 0)
@@ -274,11 +231,6 @@
       structure SymbolAttribute =
          struct
             datatype t = Alloc
-
-            val toString: t -> string =
-               fn Alloc => "alloc"
-
-            val layout = Layout.str o toString
          end
 
       datatype t =
@@ -621,13 +573,6 @@
                             (checkSyntaxExp exp
                              ; Pat.checkSyntax pat)))
 
-structure Match =
-   struct
-      open Match
-
-      val layout = layoutMatch
-   end
-
 structure Exp =
    struct
       open Wrap
@@ -699,23 +644,6 @@
 
       val openn = make o Open
 
-      fun exceptionn (exn: Con.t, to: Type.t option): t =
-         make (Exception (Vector.new1 (exn, make (Eb.Rhs.Gen to))))
-
-      fun datatypee datatypes: t =
-         make
-         (Datatype
-          (DatatypeRhs.makeRegion
-           (DatatypeRhs.DatBind
-            (DatBind.makeRegion (DatBind.T {withtypes = TypBind.empty,
-                                            datatypes = datatypes},
-                                 Region.bogus)),
-            Region.bogus)))
-
-      val seq = make o SeqDec
-
-      val empty = seq (Vector.new0 ())
-
       fun vall (tyvars, var, exp): t =
          make (Val {tyvars = tyvars,
                     vbs = Vector.new1 {exp = exp, pat = Pat.var var},

Modified: mlton/branches/on-20050822-x86_64-branch/mlton/ast/ast-core.sig
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/mlton/ast/ast-core.sig	2007-02-11 21:17:01 UTC (rev 5168)
+++ mlton/branches/on-20050822-x86_64-branch/mlton/ast/ast-core.sig	2007-02-12 00:32:57 UTC (rev 5169)
@@ -23,9 +23,6 @@
                Infix of int option
              | Infixr of int option
              | Nonfix
-
-            val bogus: t
-            val isInfix: t -> bool
             val layout: t -> Layout.t
          end
 
@@ -68,9 +65,6 @@
             include WRAPPED sharing type node' = node
                             sharing type obj = t
 
-            val app: Con.t * t -> t
-            val con: Con.t -> t
-            val const: Const.t -> t
             val constraint: t * Type.t -> t
             val layered: {fixop: Fixop.t,
                           var: Var.t,
@@ -96,8 +90,6 @@
             structure SymbolAttribute:
                sig
                   datatype t = Alloc
-
-                  val layout: t -> Layout.t
                end
 
             datatype t =
@@ -184,8 +176,6 @@
             include WRAPPED
             sharing type node' = node
             sharing type obj = t
-
-            val layout: t -> Layout.t
          end where type t = Exp.match
 
       structure EbRhs:
@@ -228,11 +218,6 @@
                             sharing type obj = t
 
             val checkSyntax: t -> unit
-            val datatypee: {tyvars: Tyvar.t vector,
-                            tycon: Tycon.t,
-                            cons: (Con.t * Type.t option) vector} vector -> t
-            val empty: t
-            val exceptionn: Con.t * Type.t option -> t
             val fromExp: Exp.t -> t
             val layout: t -> Layout.t
             val openn: Longstrid.t vector -> t

Modified: mlton/branches/on-20050822-x86_64-branch/mlton/ast/ast-id.fun
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/mlton/ast/ast-id.fun	2007-02-11 21:17:01 UTC (rev 5168)
+++ mlton/branches/on-20050822-x86_64-branch/mlton/ast/ast-id.fun	2007-02-12 00:32:57 UTC (rev 5169)
@@ -25,6 +25,8 @@
 end
 
 val node = name
+(* quell unused warning *)
+val _ = node
 val toSymbol = name
 
 fun makeRegion (s, r) = T {name = s,
@@ -34,8 +36,12 @@
 
 fun makeRegion' (s, x, y) =
    makeRegion (s, Region.make {left = x, right = y})
+(* quell unused warning *)
+val _ = makeRegion'
 
 fun dest (T {name, region, ...}) = (name, region)
+(* quell unused warning *)
+val _ = dest
 
 val bogus = makeRegion (Symbol.bogus, Region.bogus)
 
@@ -52,9 +58,6 @@
 
 val layout = String.layout o toString
 
-val hash = Symbol.hash o name
-val hash = Trace.trace ("AstId.hash", layout, Word.layout) hash
-
 (* val left = Region.left o region *)
 (* val right = Region.left o region *)
 
@@ -62,10 +65,6 @@
    fun binary (f: string * string -> 'a) (x :t, y: t): 'a =
       f (toString x, toString y)
 in
-   val op < = binary String.<
-   val op > = binary String.>
-   val op >= = binary String.>=
-   val op <= = binary String.<=
    val compare = binary String.compare
 end
 

Modified: mlton/branches/on-20050822-x86_64-branch/mlton/ast/ast-id.sig
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/mlton/ast/ast-id.sig	2007-02-11 21:17:01 UTC (rev 5168)
+++ mlton/branches/on-20050822-x86_64-branch/mlton/ast/ast-id.sig	2007-02-12 00:32:57 UTC (rev 5169)
@@ -19,15 +19,10 @@
       type t
       sharing type obj = t
 
-      val < : t * t -> bool
-      val <= : t * t -> bool
-      val > : t * t -> bool
-      val >= : t * t -> bool
       val bogus: t
       val compare: t * t -> Relation.t
       val equals: t * t -> bool
       val fromSymbol: Symbol.t * Region.t -> t
-      val hash: t -> Word.t
       val isSymbolic: t -> bool
       val layout: t -> Layout.t
       val toString: t -> string

Modified: mlton/branches/on-20050822-x86_64-branch/mlton/ast/ast-mlbs.fun
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/mlton/ast/ast-mlbs.fun	2007-02-11 21:17:01 UTC (rev 5168)
+++ mlton/branches/on-20050822-x86_64-branch/mlton/ast/ast-mlbs.fun	2007-02-12 00:32:57 UTC (rev 5169)
@@ -155,11 +155,6 @@
       type node' = node
       type obj = t
 
-      fun make n = makeRegion (n, Region.bogus)
-      val bas = make o Bas
-      val lett = make o Let
-      val var = make o Var
-      val checkSyntax = checkSyntaxBasexp
       val layout = layoutBasexp
    end
 
@@ -172,16 +167,8 @@
       type obj = t
 
       fun make n = makeRegion (n, Region.bogus)
-      val ann = make o Ann
-      val defs = make o Defs
-      val basis = make o Basis
-      val locall = make o Local
       val seq = make o Seq
       val empty = seq []
-      val mlb = make o MLB
-      val openn = make o Open
-      val prim = make Prim
-      val prog = make o Prog
       val checkSyntax = checkSyntaxBasdec
       val layout = layoutBasdec
       val sourceFiles = sourceFiles

Modified: mlton/branches/on-20050822-x86_64-branch/mlton/ast/ast-mlbs.sig
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/mlton/ast/ast-mlbs.sig	2007-02-11 21:17:01 UTC (rev 5168)
+++ mlton/branches/on-20050822-x86_64-branch/mlton/ast/ast-mlbs.sig	2007-02-12 00:32:57 UTC (rev 5169)
@@ -28,11 +28,6 @@
             include WRAPPED sharing type node' = node
                             sharing type obj = t
 
-            val bas: basdec -> t
-            val lett: basdec * t -> t
-            val var: Basid.t -> t
-
-            val checkSyntax: t -> unit
             val layout: t -> Layout.t
          end
 
@@ -53,15 +48,7 @@
             include WRAPPED sharing type node' = node
                             sharing type obj = t
 
-            val ann: string * Region.t * t -> t
-            val basis: {name: Basid.t, def: Basexp.t} vector -> t
-            val defs: ModIdBind.t -> t
             val empty: t
-            val locall: t * t -> t
-            val mlb: {fileAbs: File.t, fileUse: File.t} * t Promise.t -> t
-            val openn: Basid.t vector -> t
-            val prim: t
-            val prog: {fileAbs: File.t, fileUse: File.t} * Program.t Promise.t -> t
             val seq: t list -> t
 
             val checkSyntax: t -> unit

Modified: mlton/branches/on-20050822-x86_64-branch/mlton/ast/ast-modules.fun
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/mlton/ast/ast-modules.fun	2007-02-11 21:17:01 UTC (rev 5168)
+++ mlton/branches/on-20050822-x86_64-branch/mlton/ast/ast-modules.fun	2007-02-12 00:32:57 UTC (rev 5169)
@@ -233,7 +233,6 @@
       fun make n = makeRegion (n, Region.bogus)
 
       val spec = make o Spec
-      val var = make o Var
 
       val layout = layoutSigexp
    end
@@ -342,10 +341,7 @@
 
       val checkSyntax = checkSyntaxStrexp
       fun make n = makeRegion (n, Region.bogus)
-      val var = make o Var
-      val structt = make o Struct
       val constrained = make o Constrained
-      val app = make o App
       val lett = make o Let
       val layout = layoutStrexp
    end
@@ -360,11 +356,8 @@
 
       val checkSyntax = checkSyntaxStrdec
       fun make n = makeRegion (n, Region.bogus)
-      val structuree = make o Structure
 
-      val locall = make o Local
       val core = make o Core
-      val seq = make o Seq
 
       val openn = core o Dec.openn
 
@@ -490,9 +483,6 @@
 
       fun make n = makeRegion (n, Region.bogus)
       val fromExp = make o Strdec o Strdec.fromExp
-      val functorr = make o Functor
-      val signaturee = make o Signature
-      val strdec = make o Strdec
 
       fun checkSyntax (d: t): unit =
          case node d of

Modified: mlton/branches/on-20050822-x86_64-branch/mlton/ast/ast-modules.sig
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/mlton/ast/ast-modules.sig	2007-02-11 21:17:01 UTC (rev 5168)
+++ mlton/branches/on-20050822-x86_64-branch/mlton/ast/ast-modules.sig	2007-02-12 00:32:57 UTC (rev 5169)
@@ -30,7 +30,6 @@
             include WRAPPED sharing type node' = node
                             sharing type obj = t
 
-            val var: Sigid.t -> t
             val wheree: t * {tyvars: Tyvar.t vector,
                              longtycon: Longtycon.t,
                              ty: Type.t} vector * Region.t -> t
@@ -99,10 +98,7 @@
             include WRAPPED sharing type node' = node
                             sharing type obj = t
 
-            val var: Longstrid.t -> t
-            val structt: strdec -> t
             val constrained: t * SigConst.t -> t
-            val app: Fctid.t * t -> t
             val lett: strdec * t -> t
 
             val layout: t -> Layout.t
@@ -125,12 +121,7 @@
             val coalesce: t -> t
             val core: Dec.t -> t
             val layout: t -> Layout.t
-            val locall: t * t -> t
             val openn: Longstrid.t vector -> t
-            val seq: t list -> t
-            val structuree: {name: Strid.t,
-                             def: Strexp.t,
-                             constraint: SigConst.t} vector -> t
          end
       sharing type Strdec.t = Strexp.strdec
 
@@ -160,12 +151,6 @@
 
             val checkSyntax: t -> unit
             val fromExp: Exp.t -> t
-            val functorr: {name: Fctid.t,
-                           arg: FctArg.t,
-                           result: SigConst.t,
-                           body: Strexp.t} vector -> t
             val layout: t -> Layout.t
-            val signaturee: (Sigid.t * Sigexp.t) vector -> t
-            val strdec: Strdec.t -> t
          end
    end

Modified: mlton/branches/on-20050822-x86_64-branch/mlton/ast/ast-programs.fun
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/mlton/ast/ast-programs.fun	2007-02-11 21:17:01 UTC (rev 5168)
+++ mlton/branches/on-20050822-x86_64-branch/mlton/ast/ast-programs.fun	2007-02-12 00:32:57 UTC (rev 5169)
@@ -21,8 +21,6 @@
 
       val empty = T []
 
-      fun append (T ds1, T ds2) = T (ds1 @ ds2)
-
       fun layout (T dss) =
          Layout.align (List.map (dss, fn ds =>
                                  Layout.paren 
@@ -148,6 +146,8 @@
          in
             !n
          end
+      (* quell unused warning *)
+      val _ = size
    end
 
 end

Modified: mlton/branches/on-20050822-x86_64-branch/mlton/ast/ast-programs.sig
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/mlton/ast/ast-programs.sig	2007-02-11 21:17:01 UTC (rev 5168)
+++ mlton/branches/on-20050822-x86_64-branch/mlton/ast/ast-programs.sig	2007-02-12 00:32:57 UTC (rev 5169)
@@ -19,7 +19,6 @@
          sig
             datatype t = T of Topdec.t list list
 
-            val append: t * t -> t
             val checkSyntax: t -> unit
             val coalesce: t -> t
             val empty: t

Modified: mlton/branches/on-20050822-x86_64-branch/mlton/ast/int-size.fun
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/mlton/ast/int-size.fun	2007-02-11 21:17:01 UTC (rev 5168)
+++ mlton/branches/on-20050822-x86_64-branch/mlton/ast/int-size.fun	2007-02-12 00:32:57 UTC (rev 5169)
@@ -5,6 +5,8 @@
  * See the file MLton-LICENSE for details.
  *)
 
+type int = Int.t
+
 functor IntSize (S: INT_SIZE_STRUCTS): INT_SIZE =
 struct
 
@@ -14,10 +16,6 @@
 
 fun bits (T {bits, ...}) = bits
 
-val toString = Bits.toString o bits
-
-val layout = Layout.str o toString
-
 fun compare (s, s') = Bits.compare (bits s, bits s')
 
 val {equals, ...} = Relation.compare compare
@@ -47,8 +45,6 @@
 
 val all = List.map (sizes, fromBits)
 
-val prims = List.map ([8, 16, 32, 64], fromBits o Bits.fromInt)
-
 val memoize: (t -> 'a) -> t -> 'a =
    fn f =>
    let
@@ -57,38 +53,4 @@
       fn T {bits = b, ...} => valOf (Vector.sub (v, Bits.toInt b))
    end
 
-fun roundUpToPrim s =
-   let
-      val bits = Bits.toInt (bits s)
-      val bits =
-         if bits <= 8
-            then 8
-         else if bits <= 16
-                 then 16
-              else if bits <= 32
-                      then 32
-                   else if bits = 64
-                           then 64
-                        else Error.bug "IntSize.roundUpToPrim"
-   in
-      fromBits (Bits.fromInt bits)
-   end
-
-val bytes: t -> Bytes.t = Bits.toBytes o bits
-
-val cardinality = memoize (fn s => IntInf.pow (2, Bits.toInt (bits s)))
-
-datatype prim = I8 | I16 | I32 | I64
-
-val primOpt =
-   memoize (fn T {bits, ...} =>
-            List.peekMap ([(8, I8), (16, I16), (32, I32), (64, I64)],
-                          fn (b, p) =>
-                          if b = Bits.toInt bits then SOME p else NONE))
-
-fun prim s =
-   case primOpt s of
-      NONE => Error.bug "IntSize.prim"
-    | SOME p => p
-
 end

Modified: mlton/branches/on-20050822-x86_64-branch/mlton/ast/int-size.sig
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/mlton/ast/int-size.sig	2007-02-11 21:17:01 UTC (rev 5168)
+++ mlton/branches/on-20050822-x86_64-branch/mlton/ast/int-size.sig	2007-02-12 00:32:57 UTC (rev 5169)
@@ -5,8 +5,6 @@
  * See the file MLton-LICENSE for details.
  *)
 
-type int = Int.t
-
 signature INT_SIZE_STRUCTS =
    sig
    end
@@ -19,16 +17,7 @@
 
       val all: t list
       val bits: t -> Bits.t
-      val bytes: t -> Bytes.t
-      val cardinality: t -> IntInf.t
-      val compare: t * t -> Relation.t
       val equals: t * t -> bool
       val fromBits : Bits.t -> t
-      val layout: t -> Layout.t
       val memoize: (t -> 'a) -> t -> 'a
-      datatype prim = I8 | I16 | I32 | I64
-      val prim: t -> prim
-      val prims: t list
-      val roundUpToPrim: t -> t
-      val toString: t -> string
    end

Modified: mlton/branches/on-20050822-x86_64-branch/mlton/ast/longid.fun
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/mlton/ast/longid.fun	2007-02-11 21:17:01 UTC (rev 5168)
+++ mlton/branches/on-20050822-x86_64-branch/mlton/ast/longid.fun	2007-02-12 00:32:57 UTC (rev 5169)
@@ -27,36 +27,6 @@
       (strids, id)
    end
 
-fun prepend (id, strid) =
-   let
-      val (T {strids, id}, region) = dest id
-   in
-      makeRegion (T {strids = strid :: strids, id = id},
-                 region)
-   end
-
-fun prepends (id, strids') =
-   let
-      val (T {strids, id}, region) = dest id
-   in
-      makeRegion (T {strids = strids' @ strids, id = id},
-                 region)
-   end
-
-fun isLong id =
-   let
-      val T {strids, ...} = node id
-   in
-      not (List.isEmpty strids)
-   end
-
-fun toId id =
-   let
-      val T {id, ...} = node id
-   in
-      id
-   end
-
 val equals =
    fn (id, id') =>
    let
@@ -90,14 +60,37 @@
 
 fun fromSymbols (ss: Symbol.t list, region: Region.t): t =
    let
-      val (strids, id) = List.splitLast ss
+      val srs =
+         case Region.left region of
+             NONE => List.map (ss, fn s => (s, region))
+           | SOME p =>
+             let
+                val file = SourcePos.file p
+                val line = SourcePos.line p
+             in
+                List.unfold
+                ((ss, SourcePos.column p),
+                 fn (s::ss, cl) =>
+                    let
+                       val cr = cl + String.length (Symbol.toString s)
+                    in
+                       SOME
+                       ((s, Region.make
+                            {left = SourcePos.make {column = cl,
+                                                    file = file,
+                                                    line = line},
+                             right = SourcePos.make {column = cr,
+                                                     file = file,
+                                                     line = line}}),
+                        (ss, cr + 1))
+                    end
+                  | ([], _) => NONE)
+             end
+      val (strids, id) = List.splitLast srs
    in
-      makeRegion (T {strids = List.map (strids, fn s =>
-                                        Strid.fromSymbol (s, region)),
-                     id = Id.fromSymbol (id, region)},
+      makeRegion (T {strids = List.map (strids, Strid.fromSymbol),
+                     id = Id.fromSymbol id},
                   region)
    end
 
-val bogus = short Id.bogus
-
 end

Modified: mlton/branches/on-20050822-x86_64-branch/mlton/ast/longid.sig
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/mlton/ast/longid.sig	2007-02-11 21:17:01 UTC (rev 5168)
+++ mlton/branches/on-20050822-x86_64-branch/mlton/ast/longid.sig	2007-02-12 00:32:57 UTC (rev 5169)
@@ -25,18 +25,9 @@
       include WRAPPED sharing type node' = node
                       sharing type obj = t
 
-      val bogus: t
       val fromSymbols: Symbol.t list * Region.t -> t
-      val isLong: t -> bool (* returns true if the list of strids is nonempty *)
       val long: Strid.t list * Id.t -> t
-      (* prepend with a path: 
-       * prepend (([B, C], x), A) = ([A, B, C], x)
-       * prepends (([C, D], x), [A, B]) = ([A, B, C, D], x)
-       *)
-      val prepend: t * Strid.t -> t
-      val prepends: t * Strid.t list -> t
       val short: Id.t -> t
       val split: t -> Strid.t list * Id.t
-      val toId: t -> Id.t
       val toString: t -> string
    end

Modified: mlton/branches/on-20050822-x86_64-branch/mlton/ast/prim-tycons.fun
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/mlton/ast/prim-tycons.fun	2007-02-11 21:17:01 UTC (rev 5168)
+++ mlton/branches/on-20050822-x86_64-branch/mlton/ast/prim-tycons.fun	2007-02-12 00:32:57 UTC (rev 5169)
@@ -18,8 +18,6 @@
        | Tuple
        | Unit
 
-      val arrow = Arrow
-      val tuple = Tuple
       val unit = Unit
    end
 
@@ -171,7 +169,6 @@
     | _ => Error.bug "PrimTycons.defaultWord"
 
 val isBool = fn c => equals (c, bool)
-val isExn = fn c => equals (c, exn)
 val isPointer = fn c => equals (c, pointer)
 val isIntX = fn c => equals (c, intInf) orelse isIntX c
 val deIntX = fn c => if equals (c, intInf) then NONE else SOME (deIntX c)

Modified: mlton/branches/on-20050822-x86_64-branch/mlton/ast/prim-tycons.sig
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/mlton/ast/prim-tycons.sig	2007-02-11 21:17:01 UTC (rev 5168)
+++ mlton/branches/on-20050822-x86_64-branch/mlton/ast/prim-tycons.sig	2007-02-12 00:32:57 UTC (rev 5169)
@@ -31,8 +31,6 @@
    sig
       type t
 
-      val arrow: t
-      val tuple: t
       val unit: t
    end
 
@@ -62,7 +60,6 @@
       val intInf: tycon
       val isBool: tycon -> bool
       val isCharX: tycon -> bool
-      val isExn: tycon -> bool
       val isIntX: tycon -> bool
       val isPointer: tycon -> bool
       val isRealX: tycon -> bool

Modified: mlton/branches/on-20050822-x86_64-branch/mlton/ast/real-size.fun
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/mlton/ast/real-size.fun	2007-02-11 21:17:01 UTC (rev 5168)
+++ mlton/branches/on-20050822-x86_64-branch/mlton/ast/real-size.fun	2007-02-12 00:32:57 UTC (rev 5169)
@@ -14,12 +14,6 @@
 
 val all = [R32, R64]
 
-val compare =
-   fn (R32, R32) => EQUAL
-    | (R32, _) => LESS
-    | (R64, R64) => EQUAL
-    | _ => GREATER
-
 val equals: t * t -> bool = op =
 
 val memoize: (t -> 'a) -> t -> 'a =
@@ -36,8 +30,6 @@
    fn R32 => "32"
     | R64 => "64"
 
-val layout = Layout.str o toString
-
 val bytes: t -> Bytes.t =
    fn R32 => Bytes.fromInt 4
     | R64 => Bytes.fromInt 8

Modified: mlton/branches/on-20050822-x86_64-branch/mlton/ast/real-size.sig
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/mlton/ast/real-size.sig	2007-02-11 21:17:01 UTC (rev 5168)
+++ mlton/branches/on-20050822-x86_64-branch/mlton/ast/real-size.sig	2007-02-12 00:32:57 UTC (rev 5169)
@@ -18,9 +18,7 @@
       val all: t list
       val bits: t -> Bits.t
       val bytes: t -> Bytes.t
-      val compare: t * t -> Relation.t
       val equals: t * t -> bool
-      val layout: t -> Layout.t
       val memoize: (t -> 'a) -> t -> 'a
       val toString: t -> string
    end

Modified: mlton/branches/on-20050822-x86_64-branch/mlton/ast/record.fun
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/mlton/ast/record.fun	2007-02-11 21:17:01 UTC (rev 5168)
+++ mlton/branches/on-20050822-x86_64-branch/mlton/ast/record.fun	2007-02-12 00:32:57 UTC (rev 5169)
@@ -19,10 +19,6 @@
 
 val tuple = Tuple
 
-val isTuple =
-   fn Tuple _ => true
-    | _ => false
-
 fun toVector r =
    case r of
       Tuple v => Vector.mapi (v, fn (i, x) => (Field.Int i, x))
@@ -51,15 +47,6 @@
       else Record v
    end
 
-fun equals (r, r', eq) =
-   case (r, r') of
-      (Tuple v, Tuple v') => Vector.equals (v, v', eq)
-    | (Record fs, Record fs') =>
-         Vector.equals
-         (fs, sort fs', fn ((f, v), (f', v')) =>
-          Field.equals (f, f') andalso eq (v, v'))
-    | _ => false
-
 val peek: 'a t * Field.t -> 'a option =
    fn (r, f) =>
    case r of
@@ -89,13 +76,6 @@
 
 fun forall (r, p) = not (exists (r, not o p))
 
-fun foldi (r, b, f) =
-   case r of
-      Tuple xs => Vector.foldi (xs, b, fn (i, x, b) => f (Field.Int i, x, b))
-    | Record r => Vector.fold (r, b, fn ((i, x), b) => f (i, x, b))
-
-fun fold (r, b, f) = foldi (r, b, fn (_, a, b) => f (a, b))
-
 fun map (r: 'a t, f: 'a -> 'b): 'b t =
    case r of
       Tuple xs => Tuple (Vector.map (xs, f))
@@ -118,12 +98,6 @@
 
 fun zip z = fromVector (Vector.zip z)
 
-fun unzip r =
-   case r of
-      Tuple v => (Vector.tabulate (Vector.length v, Field.Int),
-                  v)
-    | Record r => Vector.unzip r
-
 fun layout {record, layoutTuple, separator, extra, layoutElt} =
    case (record, extra) of
       (Tuple xs, "") => layoutTuple xs

Modified: mlton/branches/on-20050822-x86_64-branch/mlton/ast/record.sig
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/mlton/ast/record.sig	2007-02-11 21:17:01 UTC (rev 5168)
+++ mlton/branches/on-20050822-x86_64-branch/mlton/ast/record.sig	2007-02-12 00:32:57 UTC (rev 5169)
@@ -24,14 +24,10 @@
       val change: 'a t * ('a vector -> 'b vector * 'c) -> 'b t * 'c
       (* detuple r returns the components, if r is a tuple *)
       val detupleOpt: 'a t -> 'a vector option
-      val equals: 'a t * 'a t * ('a * 'a -> bool) -> bool
       val exists: 'a t * ('a -> bool) -> bool
-      val fold: 'a t * 'b * ('a * 'b -> 'b) -> 'b
-      val foldi: 'a t * 'b * (Field.t * 'a * 'b ->'b) -> 'b
       val forall: 'a t * ('a -> bool) -> bool
       val foreach: 'a t * ('a -> unit) -> unit
       val fromVector: (Field.t * 'a) vector -> 'a t
-      val isTuple: 'a t -> bool
       val layout: {record: 'a t,
                    separator: string,
                    extra: string,
@@ -44,6 +40,5 @@
       val toVector: 'a t -> (Field.t * 'a) vector
       (* tuple [a, b, c] creates {1 = a, 2 = b, 3 = c} *)
       val tuple: 'a vector -> 'a t
-      val unzip: 'a t -> Field.t vector * 'a vector
       val zip: Field.t vector * 'a vector -> 'a t
    end

Modified: mlton/branches/on-20050822-x86_64-branch/mlton/ast/tyvar.fun
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/mlton/ast/tyvar.fun	2007-02-11 21:17:01 UTC (rev 5168)
+++ mlton/branches/on-20050822-x86_64-branch/mlton/ast/tyvar.fun	2007-02-12 00:32:57 UTC (rev 5169)
@@ -67,7 +67,10 @@
  *)
 
 local val c = Counter.new 0
-in fun reset () = Counter.reset (c, 0)
+in 
+   fun reset () = Counter.reset (c, 0)
+   (* quell unused warning *)
+   val _ = reset
    fun newNoname {equality} =
       new {name = "a_" ^ Int.toString (Counter.next c),
            equality = equality}

Modified: mlton/branches/on-20050822-x86_64-branch/mlton/ast/word-size.fun
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/mlton/ast/word-size.fun	2007-02-11 21:17:01 UTC (rev 5168)
+++ mlton/branches/on-20050822-x86_64-branch/mlton/ast/word-size.fun	2007-02-12 00:32:57 UTC (rev 5169)
@@ -16,8 +16,6 @@
 
 val toString = Bits.toString o bits
 
-val layout = Layout.str o toString
-
 fun compare (s, s') = Bits.compare (bits s, bits s')
 
 val {equals, ...} = Relation.compare compare
@@ -30,8 +28,6 @@
 fun isValidSize (i: int) =
    (1 <= i andalso i <= 32) orelse i = 64
 
-val one = fromBits (Bits.fromInt 1)
-
 val byte = fromBits (Bits.fromInt 8)
 
 val bool = fromBits (Bits.fromInt 32)
@@ -113,6 +109,4 @@
       NONE => Error.bug "WordSize.prim"
     | SOME p => p
 
-fun s + s' = fromBits (Bits.+ (bits s, bits s'))
-
 end

Modified: mlton/branches/on-20050822-x86_64-branch/mlton/ast/word-size.sig
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/mlton/ast/word-size.sig	2007-02-11 21:17:01 UTC (rev 5168)
+++ mlton/branches/on-20050822-x86_64-branch/mlton/ast/word-size.sig	2007-02-12 00:32:57 UTC (rev 5169)
@@ -17,7 +17,6 @@
 
       type t
 
-      val + : t * t -> t
       val all: t list
       val bits: t -> Bits.t
       val bool: t
@@ -29,11 +28,9 @@
       val equals: t * t -> bool
       val fromBits: Bits.t -> t
       val isInRange: t * IntInf.t * {signed: bool} -> bool
-      val layout: t -> Layout.t
       val max: t * {signed: bool} -> IntInf.t
       val min: t * {signed: bool} -> IntInf.t
       val memoize: (t -> 'a) -> t -> 'a
-      val one: t
       val pointer: unit -> t
       datatype prim = W8 | W16 | W32 | W64
       val prim: t -> prim

Modified: mlton/branches/on-20050822-x86_64-branch/mlton/atoms/atoms.fun
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/mlton/atoms/atoms.fun	2007-02-11 21:17:01 UTC (rev 5168)
+++ mlton/branches/on-20050822-x86_64-branch/mlton/atoms/atoms.fun	2007-02-12 00:32:57 UTC (rev 5169)
@@ -50,10 +50,7 @@
                              structure WordSize = WordSize)
       structure Ffi = Ffi (structure CFunction = CFunction
                            structure CType = CType)
-      structure Tyvars = UnorderedSet (Tyvar)
       structure Vars = UnorderedSet (Var)
-      structure Cons = UnorderedSet (Con)
-      structure Tycons = UnorderedSet (Tycon)
    end
 
 open Atoms

Modified: mlton/branches/on-20050822-x86_64-branch/mlton/atoms/atoms.sig
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/mlton/atoms/atoms.sig	2007-02-11 21:17:01 UTC (rev 5168)
+++ mlton/branches/on-20050822-x86_64-branch/mlton/atoms/atoms.sig	2007-02-12 00:32:57 UTC (rev 5169)
@@ -26,7 +26,6 @@
       structure CFunction: C_FUNCTION
       structure CType: C_TYPE
       structure Con: CON
-      structure Cons: SET
       structure Const: CONST
       structure Ffi: FFI
       structure Func: FUNC
@@ -37,10 +36,8 @@
       structure RealX: REAL_X
       structure SourceInfo: SOURCE_INFO
       structure Tycon: TYCON
-      structure Tycons: SET
-      structure Var: VAR
+      structure Var: VAR 
       structure Vars: SET
-      structure Tyvars: SET
       structure WordX: WORD_X
       structure WordXVector: WORD_X_VECTOR
 
@@ -77,7 +74,7 @@
       sharing CFunction = Atoms.CFunction
       sharing CType = Atoms.CType
       sharing Con = Atoms.Con
-      sharing Cons = Atoms.Cons
+      (* sharing Cons = Atoms.Cons *)
       sharing Const = Atoms.Const
       sharing Ffi = Atoms.Ffi
       sharing Field = Atoms.Field
@@ -92,9 +89,9 @@
       sharing SortedRecord = Atoms.SortedRecord
       sharing SourceInfo = Atoms.SourceInfo
       sharing Tycon = Atoms.Tycon
-      sharing Tycons = Atoms.Tycons
+      (* sharing Tycons = Atoms.Tycons *)
       sharing Tyvar = Atoms.Tyvar
-      sharing Tyvars = Atoms.Tyvars
+      (* sharing Tyvars = Atoms.Tyvars *)
       sharing Var = Atoms.Var
       sharing Vars = Atoms.Vars
       sharing WordSize = Atoms.WordSize

Modified: mlton/branches/on-20050822-x86_64-branch/mlton/atoms/c-function.fun
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/mlton/atoms/c-function.fun	2007-02-11 21:17:01 UTC (rev 5168)
+++ mlton/branches/on-20050822-x86_64-branch/mlton/atoms/c-function.fun	2007-02-12 00:32:57 UTC (rev 5169)
@@ -92,6 +92,8 @@
    fun target z = make #target z
    fun writesStackTop z = make #writesStackTop z
 end
+(* quell unused warnings *)
+val _ = (modifiesFrontier, readsStackTop, writesStackTop)
 
 fun equals (f, f') = Target.equals (target f, target f')
 

Modified: mlton/branches/on-20050822-x86_64-branch/mlton/atoms/c-type.fun
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/mlton/atoms/c-type.fun	2007-02-11 21:17:01 UTC (rev 5168)
+++ mlton/branches/on-20050822-x86_64-branch/mlton/atoms/c-type.fun	2007-02-12 00:32:57 UTC (rev 5169)
@@ -30,8 +30,6 @@
 
 val bool = Int32
 
-val char = Int8
-
 val pointer = Pointer
 
 val thread = Pointer

Modified: mlton/branches/on-20050822-x86_64-branch/mlton/atoms/c-type.sig
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/mlton/atoms/c-type.sig	2007-02-11 21:17:01 UTC (rev 5168)
+++ mlton/branches/on-20050822-x86_64-branch/mlton/atoms/c-type.sig	2007-02-12 00:32:57 UTC (rev 5169)
@@ -31,7 +31,6 @@
       val align: t * Bytes.t -> Bytes.t
       val all: t list
       val bool: t
-      val char: t
       val equals: t * t -> bool
       val memo: (t -> 'a) -> t -> 'a
       (* name: I{8,16,32,64} R{32,64} W{8,16,32,64} *)

Modified: mlton/branches/on-20050822-x86_64-branch/mlton/atoms/con-.fun
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/mlton/atoms/con-.fun	2007-02-11 21:17:01 UTC (rev 5168)
+++ mlton/branches/on-20050822-x86_64-branch/mlton/atoms/con-.fun	2007-02-12 00:32:57 UTC (rev 5169)
@@ -30,6 +30,8 @@
                       str " plist length is ",
                       Int.layout (PropertyList.length (plist c))]))
    end
+(* quell unused warning *)
+val _ = stats
 
 fun fromBool b = if b then truee else falsee
 

Modified: mlton/branches/on-20050822-x86_64-branch/mlton/atoms/const-type.fun
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/mlton/atoms/const-type.fun	2007-02-11 21:17:01 UTC (rev 5168)
+++ mlton/branches/on-20050822-x86_64-branch/mlton/atoms/const-type.fun	2007-02-12 00:32:57 UTC (rev 5169)
@@ -13,10 +13,4 @@
 
 datatype t = Bool | Real of RealSize.t | String | Word of WordSize.t
 
-val toString =
-   fn Bool => "Bool"
-    | Real rs => "Real" ^ (RealSize.toString rs)
-    | String => "String"
-    | Word ws => "Word" ^ (WordSize.toString ws)
-
 end

Modified: mlton/branches/on-20050822-x86_64-branch/mlton/atoms/const-type.sig
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/mlton/atoms/const-type.sig	2007-02-11 21:17:01 UTC (rev 5168)
+++ mlton/branches/on-20050822-x86_64-branch/mlton/atoms/const-type.sig	2007-02-12 00:32:57 UTC (rev 5169)
@@ -17,6 +17,4 @@
       include CONST_TYPE_STRUCTS
 
       datatype t = Bool | Real of RealSize.t | String | Word of WordSize.t
-
-      val toString: t -> string
    end

Modified: mlton/branches/on-20050822-x86_64-branch/mlton/atoms/const.fun
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/mlton/atoms/const.fun	2007-02-11 21:17:01 UTC (rev 5168)
+++ mlton/branches/on-20050822-x86_64-branch/mlton/atoms/const.fun	2007-02-12 00:32:57 UTC (rev 5169)
@@ -48,7 +48,6 @@
 val word = Word
 val wordVector = WordVector
 
-val word8 = word o WordX.fromWord8 
 val string = wordVector o WordXVector.fromString
 
 local

Modified: mlton/branches/on-20050822-x86_64-branch/mlton/atoms/const.sig
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/mlton/atoms/const.sig	2007-02-11 21:17:01 UTC (rev 5168)
+++ mlton/branches/on-20050822-x86_64-branch/mlton/atoms/const.sig	2007-02-12 00:32:57 UTC (rev 5169)
@@ -49,6 +49,5 @@
       val string: string -> t
       val toString: t -> string
       val word: WordX.t -> t
-      val word8: Word8.t -> t
       val wordVector: WordXVector.t -> t
    end

Modified: mlton/branches/on-20050822-x86_64-branch/mlton/atoms/generic-scheme.fun
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/mlton/atoms/generic-scheme.fun	2007-02-11 21:17:01 UTC (rev 5168)
+++ mlton/branches/on-20050822-x86_64-branch/mlton/atoms/generic-scheme.fun	2007-02-12 00:32:57 UTC (rev 5169)
@@ -14,20 +14,15 @@
 type ty = Type.t
 type tyvar = Tyvar.t
 
-datatype t = T of {tyvars: Tyvar.t vector,
-                   ty: Type.t}
+datatype t = T of {tyvars: tyvar vector,
+                   ty: ty}
 
 local
    fun make f (T r) = f r
 in
    val ty = make #ty
-   val tyvars = make #tyvars
 end
 
-fun fromType t = T {tyvars = Vector.new0 (), ty = t}
-
-val equals = fn _ => Error.unimplemented "GenericScheme.equals"
-
 fun layout (T {tyvars, ty}) =
    let open Layout
       val ty = Type.layout ty
@@ -48,20 +43,4 @@
                *)
    else Type.substitute (ty, Vector.zip (tyvars, args))
 
-fun makeGen (numTyvars, equality, makeType): t =
-   let
-      val tyvars =
-         Vector.tabulate (numTyvars, fn _ =>
-                          Tyvar.newNoname {equality = equality})
-      val tys = Vector.map (tyvars, Type.var)
-   in T {tyvars = tyvars,
-         ty = makeType (fn i => Vector.sub (tys, i))}
-   end
-
-val make0 = fromType
-
-fun make1 makeType = makeGen (1, false, fn sub => makeType (sub 0))
-fun make2 makeType = makeGen (2, false, fn sub => makeType (sub 0, sub 1))
-fun makeEqual1 makeType = makeGen (1, true, fn sub => makeType (sub 0))
-
 end

Modified: mlton/branches/on-20050822-x86_64-branch/mlton/atoms/generic-scheme.sig
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/mlton/atoms/generic-scheme.sig	2007-02-11 21:17:01 UTC (rev 5168)
+++ mlton/branches/on-20050822-x86_64-branch/mlton/atoms/generic-scheme.sig	2007-02-12 00:32:57 UTC (rev 5169)
@@ -26,13 +26,6 @@
                          ty: ty}
 
       val apply: t * ty vector -> ty
-      val equals: t * t -> bool
-      val fromType: ty -> t
       val layout: t -> Layout.t
-      val make0: ty -> t
-      val make1: (ty -> ty) -> t
-      val make2: (ty * ty -> ty) -> t
-      val makeEqual1: (ty -> ty) -> t
       val ty: t -> ty
-      val tyvars: t -> tyvar vector
    end

Modified: mlton/branches/on-20050822-x86_64-branch/mlton/atoms/hash-type.fun
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/mlton/atoms/hash-type.fun	2007-02-11 21:17:01 UTC (rev 5168)
+++ mlton/branches/on-20050822-x86_64-branch/mlton/atoms/hash-type.fun	2007-02-12 00:32:57 UTC (rev 5169)
@@ -88,8 +88,6 @@
                                  ({isChar = false},
                                   Tycon.BindingStrength.unit))})
 
-      val toString = Layout.toString o layout
-
       local
          val same: tree * tree -> bool =
             fn (Var a, Var a') => Tyvar.equals (a, a')

Modified: mlton/branches/on-20050822-x86_64-branch/mlton/atoms/hash-type.sig
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/mlton/atoms/hash-type.sig	2007-02-11 21:17:01 UTC (rev 5168)
+++ mlton/branches/on-20050822-x86_64-branch/mlton/atoms/hash-type.sig	2007-02-12 00:32:57 UTC (rev 5169)
@@ -15,7 +15,6 @@
    sig
       include HASH_TYPE_STRUCTS
       include TYPE_OPS
-(*      sharing type intSize = IntSize.t *)
       sharing type realSize = RealSize.t
       sharing type tycon = Tycon.t
       sharing type wordSize = WordSize.t
@@ -61,7 +60,6 @@
        * The ai's are not required to contain every free variable in t
        *)
       val substitute: t * (Tyvar.t * t) vector -> t
-      val toString: t -> string
       val tycon: t -> Tycon.t
       val var: Tyvar.t -> t
    end

Modified: mlton/branches/on-20050822-x86_64-branch/mlton/atoms/prim.fun
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/mlton/atoms/prim.fun	2007-02-11 21:17:01 UTC (rev 5168)
+++ mlton/branches/on-20050822-x86_64-branch/mlton/atoms/prim.fun	2007-02-12 00:32:57 UTC (rev 5169)
@@ -607,12 +607,10 @@
 val bogus = MLton_bogus
 val bug = MLton_bug
 val deref = Ref_deref
-val deserialize = MLton_deserialize
 val eq = MLton_eq
 val equal = MLton_equal
 val ffi = FFI
 val ffiSymbol = FFI_Symbol
-val gcCollect = GC_collect
 val intInfEqual = IntInf_equal
 val intInfNeg = IntInf_neg
 val intInfNotb = IntInf_notb
@@ -650,7 +648,6 @@
    end
 
 val reff = Ref_ref
-val serialize = MLton_serialize
 val touch = MLton_touch
 val vectorLength = Vector_length
 val vectorSub = Vector_sub
@@ -661,14 +658,12 @@
 val wordLshift = Word_lshift
 val wordLt = Word_lt
 val wordMul = Word_mul
-val wordMulCheck = Word_mulCheck
 val wordNeg = Word_neg
 val wordNegCheck = Word_negCheck
 val wordNotb = Word_notb
 val wordOrb = Word_orb
 val wordRshift = Word_rshift
 val wordSub = Word_sub
-val wordSubCheck = Word_subCheck
 val wordToWord = Word_toWord
 
 val isCommutative =
@@ -695,8 +690,6 @@
     | Word_subCheck _ => true
     | _ => false
 
-val mayRaise = mayOverflow
-
 val kind: 'a t -> Kind.t =
    fn p =>
    let
@@ -1588,7 +1581,6 @@
 structure Name =
    struct
       datatype t = datatype t
-      val layout = layout
       val toString = toString
    end
 

Modified: mlton/branches/on-20050822-x86_64-branch/mlton/atoms/prim.sig
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/mlton/atoms/prim.sig	2007-02-11 21:17:01 UTC (rev 5168)
+++ mlton/branches/on-20050822-x86_64-branch/mlton/atoms/prim.sig	2007-02-12 00:32:57 UTC (rev 5169)
@@ -168,7 +168,6 @@
              | Word8Vector_toString (* defunctorize *)
              | World_save (* ssa to rssa *)
 
-            val layout: 'a t -> Layout.t
             val toString: 'a t -> string
          end
 
@@ -205,7 +204,6 @@
       val bogus: 'a t
       val bug: 'a t
       val deref: 'a t
-      val deserialize: 'a t
       val eq: 'a t    (* pointer equality *)
       val equal: 'a t (* polymorphic equality *)
       val equals: 'a t * 'a t -> bool
@@ -218,23 +216,21 @@
       val ffi: 'a CFunction.t -> 'a t
       val ffiSymbol: {name: string, cty: CType.t option} -> 'a t
       val fromString: string -> 'a t option
-      val gcCollect: 'a t
       val intInfEqual: 'a t
       val isCommutative: 'a t -> bool
       (*
        * isFunctional p = true iff p always returns same result when given
        *   same args and has no side effects.
        * isFuntional implies not maySideEffect.
-       * examples: Array_length, MLton_equal, Int_add
+       * examples: Array_length, MLton_equal, Word_add
        * not examples: Array_array, Array_sub, Ref_deref, Ref_ref
        *)
       val isFunctional: 'a t -> bool
       val layout: 'a t -> Layout.t
       val layoutApp: 'a t * 'b vector * ('b -> Layout.t) -> Layout.t
       val map: 'a t * ('a -> 'b) -> 'b t
-      (* Int_addCheck, Int_mulCheck, Int_subCheck *)
+      (* examples: Word_addCheck, Word_mulCheck, Word_subCheck *)
       val mayOverflow: 'a t -> bool
-      val mayRaise: 'a t -> bool
       (* examples: Array_update, Ref_assign
        * not examples: Array_array, Array_sub, Ref_deref, Ref_ref
        *)
@@ -243,7 +239,6 @@
       val pointerSet: CType.t -> 'a t
       val name: 'a t -> 'a Name.t
       val reff: 'a t
-      val serialize: 'a t
       val toString: 'a t -> string
       val touch: 'a t
       val vectorLength: 'a t
@@ -255,11 +250,9 @@
       val wordLt: WordSize.t * {signed: bool} -> 'a t
       val wordLshift: WordSize.t -> 'a t
       val wordMul: WordSize.t * {signed: bool} -> 'a t
-      val wordMulCheck: WordSize.t * {signed: bool} -> 'a t
       val wordNeg: WordSize.t -> 'a t
       val wordOrb: WordSize.t -> 'a t
       val wordRshift: WordSize.t * {signed: bool} -> 'a t
       val wordSub: WordSize.t -> 'a t
-      val wordSubCheck: WordSize.t * {signed: bool} -> 'a t
       val wordToWord: WordSize.t * WordSize.t * {signed: bool} -> 'a t
    end

Modified: mlton/branches/on-20050822-x86_64-branch/mlton/atoms/profile-label.fun
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/mlton/atoms/profile-label.fun	2007-02-11 21:17:01 UTC (rev 5168)
+++ mlton/branches/on-20050822-x86_64-branch/mlton/atoms/profile-label.fun	2007-02-12 00:32:57 UTC (rev 5169)
@@ -18,7 +18,6 @@
          fun make f (T r) = f r
       in
          val plist = make #plist
-         val uniq = make #uniq
       end
 
       local
@@ -33,7 +32,5 @@
 
       val layout = Layout.str o toString
 
-      fun equals (l, l') = uniq l = uniq l'
-
       val clear = PropertyList.clear o plist
    end

Modified: mlton/branches/on-20050822-x86_64-branch/mlton/atoms/profile-label.sig
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/mlton/atoms/profile-label.sig	2007-02-11 21:17:01 UTC (rev 5168)
+++ mlton/branches/on-20050822-x86_64-branch/mlton/atoms/profile-label.sig	2007-02-12 00:32:57 UTC (rev 5169)
@@ -14,7 +14,6 @@
       type t
 
       val clear: t -> unit
-      val equals: t * t -> bool
       val layout: t -> Layout.t
       val new: unit -> t
       val plist: t -> PropertyList.t

Modified: mlton/branches/on-20050822-x86_64-branch/mlton/atoms/source-info.fun
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/mlton/atoms/source-info.fun	2007-02-11 21:17:01 UTC (rev 5168)
+++ mlton/branches/on-20050822-x86_64-branch/mlton/atoms/source-info.fun	2007-02-12 00:32:57 UTC (rev 5169)
@@ -72,8 +72,6 @@
    val plist = make #plist
 end
 
-fun anonymous r = new (Anonymous (Pos.fromRegion r))
-
 local
    val set: {hash: word,
              name: string,

Modified: mlton/branches/on-20050822-x86_64-branch/mlton/atoms/source-info.sig
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/mlton/atoms/source-info.sig	2007-02-11 21:17:01 UTC (rev 5168)
+++ mlton/branches/on-20050822-x86_64-branch/mlton/atoms/source-info.sig	2007-02-12 00:32:57 UTC (rev 5169)
@@ -18,7 +18,6 @@
       type t
 
       val all: unit -> t list
-      val anonymous: Region.t -> t
       val equals: t * t -> bool
       val file: t -> File.t option
       val gc: t

Modified: mlton/branches/on-20050822-x86_64-branch/mlton/atoms/tycon.fun
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/mlton/atoms/tycon.fun	2007-02-11 21:17:01 UTC (rev 5168)
+++ mlton/branches/on-20050822-x86_64-branch/mlton/atoms/tycon.fun	2007-02-12 00:32:57 UTC (rev 5169)
@@ -41,5 +41,7 @@
                       str " plist length is ",
                       Int.layout (PropertyList.length (plist c))]))
    end
+(* quell unused warning *)
+val _ = stats
 
 end

Modified: mlton/branches/on-20050822-x86_64-branch/mlton/atoms/type-ops.fun
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/mlton/atoms/type-ops.fun	2007-02-11 21:17:01 UTC (rev 5168)
+++ mlton/branches/on-20050822-x86_64-branch/mlton/atoms/type-ops.fun	2007-02-12 00:32:57 UTC (rev 5169)
@@ -17,7 +17,7 @@
    structure RealSize = RealSize
    structure WordSize = WordSize
 end
-datatype realSize = datatype RealSize.t
+type realSize = RealSize.t
 type tycon = Tycon.t
 type wordSize = WordSize.t
 
@@ -64,10 +64,6 @@
                       else NONE
     | _ => NONE
 
-val deArrayOpt = deUnaryOpt Tycon.array
-val deRefOpt = deUnaryOpt Tycon.reff
-val deWeakOpt = deUnaryOpt Tycon.weak
-
 fun deUnary tycon t =
    case deUnaryOpt tycon t of
       SOME t => t
@@ -97,32 +93,8 @@
       SOME t => t
     | NONE => Error.bug "TypeOps.deTuple"
 
-fun nth (t, n) = Vector.sub (deTuple t, n)
-
 val unitRef = reff unit
 
-fun deTycon t =
-   case deConOpt t of
-      SOME (c, _) => c
-    | NONE => Error.bug "TypeOps.deTycon"
-
-fun deConConstOpt t =
-   Option.map
-   (deConOpt t, fn (c, ts) =>
-    (c, Vector.map (ts, fn t =>
-                    case deConOpt t of
-                       SOME (c, _) => c
-                     | NONE => Error.bug "TypeOps.deConConstOpt")))
-
-fun deConConst t =
-   case deConOpt t of
-      NONE => Error.bug "TypeOps.deConConst"
-    | SOME (c, ts) => (c, Vector.map (ts, fn t =>
-                                      case deConOpt t of
-                                         NONE => Error.bug "TypeOps.deConConst"
-                                       | SOME (c, _) => c))
-
-
 fun deArrowOpt t =
    case deConOpt t of
       SOME (c, ts) => if Tycon.equals (c, Tycon.arrow)
@@ -135,12 +107,9 @@
       SOME x => x
     | NONE => Error.bug "TypeOps.deArrow"
 
-val dearrow =
+val deArrow =
    Trace.trace 
    ("TypeOps.deArrow", layout, Layout.tuple2 (layout, layout)) 
    deArrow
 
-val arg = #1 o dearrow
-val result = #2 o dearrow
-
 end

Modified: mlton/branches/on-20050822-x86_64-branch/mlton/atoms/type-ops.sig
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/mlton/atoms/type-ops.sig	2007-02-11 21:17:01 UTC (rev 5168)
+++ mlton/branches/on-20050822-x86_64-branch/mlton/atoms/type-ops.sig	2007-02-12 00:32:57 UTC (rev 5169)
@@ -6,8 +6,6 @@
  * See the file MLton-LICENSE for details.
  *)
 
-type int = Int.t
-
 signature TYPE_OPS_STRUCTS =
    sig
       structure Tycon: TYCON
@@ -30,36 +28,27 @@
       type wordSize
       type t
 
-      val arg: t -> t    (* arg = #1 o dearrow *)
       val array: t -> t
       val arrow: t * t -> t
       val bool: t
       val con: tycon * t vector -> t
       val deArray: t -> t
-      val deArrayOpt: t -> t option
       val deArrow: t -> t * t
       val deArrowOpt: t -> (t * t) option
       val deConOpt: t -> (tycon * t vector) option
-      val deConConstOpt: t -> (tycon * tycon vector) option
-      val deConConst: t -> (tycon * tycon vector)
       val deRef: t -> t
-      val deRefOpt: t -> t option
       val deTuple: t -> t vector
       val deTupleOpt: t -> t vector option
-      val deTycon: t -> tycon
       val deVector: t -> t
       val deWeak: t -> t
-      val deWeakOpt: t -> t option
       val defaultWord: t
       val exn: t
       val intInf: t
       val isTuple: t -> bool
  



More information about the MLton-commit mailing list