[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