You can subscribe to this list here.
| 2005 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
(56) |
Sep
(40) |
Oct
(30) |
Nov
(144) |
Dec
(23) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2006 |
Jan
(41) |
Feb
(29) |
Mar
(31) |
Apr
(39) |
May
(193) |
Jun
(45) |
Jul
(19) |
Aug
(3) |
Sep
(23) |
Oct
(83) |
Nov
(92) |
Dec
(123) |
| 2007 |
Jan
(90) |
Feb
(267) |
Mar
(120) |
Apr
(51) |
May
(40) |
Jun
(121) |
Jul
(109) |
Aug
(173) |
Sep
(77) |
Oct
(52) |
Nov
(121) |
Dec
(62) |
| 2008 |
Jan
(76) |
Feb
(53) |
Mar
(98) |
Apr
(87) |
May
(26) |
Jun
(27) |
Jul
(23) |
Aug
(136) |
Sep
(79) |
Oct
(68) |
Nov
(29) |
Dec
(14) |
| 2009 |
Jan
(7) |
Feb
(2) |
Mar
(11) |
Apr
(75) |
May
(1) |
Jun
(95) |
Jul
(19) |
Aug
(4) |
Sep
(8) |
Oct
(93) |
Nov
(43) |
Dec
(21) |
| 2010 |
Jan
(20) |
Feb
(23) |
Mar
(18) |
Apr
(6) |
May
(20) |
Jun
(23) |
Jul
(1) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
| 2011 |
Jan
(2) |
Feb
(6) |
Mar
(15) |
Apr
(5) |
May
(9) |
Jun
(14) |
Jul
(9) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
| 2012 |
Jan
|
Feb
(3) |
Mar
|
Apr
|
May
(2) |
Jun
(17) |
Jul
(37) |
Aug
|
Sep
(1) |
Oct
(6) |
Nov
|
Dec
|
| 2013 |
Jan
|
Feb
|
Mar
(5) |
Apr
(2) |
May
(7) |
Jun
(11) |
Jul
(8) |
Aug
|
Sep
(1) |
Oct
(2) |
Nov
|
Dec
|
| 2014 |
Jan
|
Feb
(2) |
Mar
(1) |
Apr
|
May
(1) |
Jun
(1) |
Jul
(7) |
Aug
(2) |
Sep
|
Oct
(5) |
Nov
(2) |
Dec
(4) |
| 2015 |
Jan
|
Feb
(2) |
Mar
(2) |
Apr
|
May
|
Jun
(9) |
Jul
(1) |
Aug
|
Sep
|
Oct
(4) |
Nov
(1) |
Dec
|
| 2016 |
Jan
(2) |
Feb
(1) |
Mar
(1) |
Apr
(1) |
May
(1) |
Jun
(2) |
Jul
(1) |
Aug
|
Sep
(5) |
Oct
|
Nov
|
Dec
|
| 2017 |
Jan
(1) |
Feb
(3) |
Mar
(3) |
Apr
(7) |
May
(2) |
Jun
(2) |
Jul
(5) |
Aug
(1) |
Sep
(2) |
Oct
(17) |
Nov
(4) |
Dec
(7) |
| 2018 |
Jan
(5) |
Feb
(14) |
Mar
(2) |
Apr
(5) |
May
(2) |
Jun
(5) |
Jul
|
Aug
(2) |
Sep
|
Oct
(3) |
Nov
(5) |
Dec
|
| 2019 |
Jan
(4) |
Feb
(2) |
Mar
(3) |
Apr
(1) |
May
(8) |
Jun
(14) |
Jul
(2) |
Aug
|
Sep
(2) |
Oct
(2) |
Nov
(15) |
Dec
(2) |
| 2020 |
Jan
(10) |
Feb
(3) |
Mar
(1) |
Apr
|
May
(9) |
Jun
(4) |
Jul
(16) |
Aug
(10) |
Sep
(4) |
Oct
(3) |
Nov
|
Dec
|
| 2021 |
Jan
(11) |
Feb
(2) |
Mar
(2) |
Apr
|
May
|
Jun
(1) |
Jul
|
Aug
(5) |
Sep
|
Oct
(6) |
Nov
(4) |
Dec
(4) |
| 2022 |
Jan
(4) |
Feb
(2) |
Mar
(2) |
Apr
|
May
(6) |
Jun
(3) |
Jul
|
Aug
(1) |
Sep
|
Oct
|
Nov
(1) |
Dec
|
| 2023 |
Jan
|
Feb
|
Mar
|
Apr
(2) |
May
(5) |
Jun
(1) |
Jul
(4) |
Aug
(1) |
Sep
|
Oct
(1) |
Nov
(13) |
Dec
|
| 2024 |
Jan
(1) |
Feb
|
Mar
(5) |
Apr
|
May
(10) |
Jun
|
Jul
|
Aug
(3) |
Sep
|
Oct
|
Nov
(1) |
Dec
(14) |
| 2025 |
Jan
(3) |
Feb
|
Mar
(1) |
Apr
|
May
(2) |
Jun
(3) |
Jul
|
Aug
|
Sep
(2) |
Oct
(3) |
Nov
|
Dec
|
|
From: Vesa K. <ve...@ml...> - 2006-12-09 23:48:11
|
Added Univ exception and wrote a bit of documentation.
----------------------------------------------------------------------
U mltonlib/trunk/com/ssh/extended-basis/unstable/detail/smlnj/bootstrap.cm
A mltonlib/trunk/com/ssh/extended-basis/unstable/detail/univ-common.sml
U mltonlib/trunk/com/ssh/extended-basis/unstable/detail/univ-exn.sml
U mltonlib/trunk/com/ssh/extended-basis/unstable/detail/univ-ref.sml
U mltonlib/trunk/com/ssh/extended-basis/unstable/extensions.mlb
U mltonlib/trunk/com/ssh/extended-basis/unstable/extensions.use
U mltonlib/trunk/com/ssh/extended-basis/unstable/public/univ.sig
----------------------------------------------------------------------
Modified: mltonlib/trunk/com/ssh/extended-basis/unstable/detail/smlnj/bootstrap.cm
===================================================================
--- mltonlib/trunk/com/ssh/extended-basis/unstable/detail/smlnj/bootstrap.cm 2006-12-08 22:52:19 UTC (rev 4912)
+++ mltonlib/trunk/com/ssh/extended-basis/unstable/detail/smlnj/bootstrap.cm 2006-12-10 07:48:08 UTC (rev 4913)
@@ -9,4 +9,5 @@
source(-)
is
../bootstrap.sml
+ ../univ-common.sml
workarounds/basis.cm
Added: mltonlib/trunk/com/ssh/extended-basis/unstable/detail/univ-common.sml
===================================================================
--- mltonlib/trunk/com/ssh/extended-basis/unstable/detail/univ-common.sml 2006-12-08 22:52:19 UTC (rev 4912)
+++ mltonlib/trunk/com/ssh/extended-basis/unstable/detail/univ-common.sml 2006-12-10 07:48:08 UTC (rev 4913)
@@ -0,0 +1,9 @@
+(* Copyright (C) 2006 SSH Communications Security, Helsinki, Finland
+ *
+ * This code is released under the MLton license, a BSD-style license.
+ * See the LICENSE file or http://mlton.org/License for details.
+ *)
+
+structure Univ = struct
+ exception Univ
+end
Property changes on: mltonlib/trunk/com/ssh/extended-basis/unstable/detail/univ-common.sml
___________________________________________________________________
Name: svn:eol-style
+ native
Modified: mltonlib/trunk/com/ssh/extended-basis/unstable/detail/univ-exn.sml
===================================================================
--- mltonlib/trunk/com/ssh/extended-basis/unstable/detail/univ-exn.sml 2006-12-08 22:52:19 UTC (rev 4912)
+++ mltonlib/trunk/com/ssh/extended-basis/unstable/detail/univ-exn.sml 2006-12-10 07:48:08 UTC (rev 4913)
@@ -5,12 +5,14 @@
*)
structure UnivExn :> UNIV = struct
+ open Univ
+
type t = Exn.t
fun newIso () = let
exception U of 'a
in
- (U, fn U ? => ? | _ => raise Match)
+ (U, fn U ? => ? | _ => raise Univ)
end
fun newEmb () = let
Modified: mltonlib/trunk/com/ssh/extended-basis/unstable/detail/univ-ref.sml
===================================================================
--- mltonlib/trunk/com/ssh/extended-basis/unstable/detail/univ-ref.sml 2006-12-08 22:52:19 UTC (rev 4912)
+++ mltonlib/trunk/com/ssh/extended-basis/unstable/detail/univ-ref.sml 2006-12-10 07:48:08 UTC (rev 4913)
@@ -5,6 +5,8 @@
*)
structure UnivRef :> UNIV = struct
+ open Univ
+
datatype t =
IN of {clear : unit -> unit,
store : unit -> unit}
@@ -20,7 +22,7 @@
deref ((store () ; !r) before clear ()))
end
in
- fun newIso () = mk (fn SOME ? => ? | NONE => raise Match)
+ fun newIso () = mk (fn SOME ? => ? | NONE => raise Univ)
fun newEmb () = mk (fn ? => ?)
end
end
Modified: mltonlib/trunk/com/ssh/extended-basis/unstable/extensions.mlb
===================================================================
--- mltonlib/trunk/com/ssh/extended-basis/unstable/extensions.mlb 2006-12-08 22:52:19 UTC (rev 4912)
+++ mltonlib/trunk/com/ssh/extended-basis/unstable/extensions.mlb 2006-12-10 07:48:08 UTC (rev 4913)
@@ -50,6 +50,7 @@
basis Univ = bas
public/univ.sig
local
+ detail/univ-common.sml
ann "warnUnused false" in
detail/univ-ref.sml
detail/univ-exn.sml
Modified: mltonlib/trunk/com/ssh/extended-basis/unstable/extensions.use
===================================================================
--- mltonlib/trunk/com/ssh/extended-basis/unstable/extensions.use 2006-12-08 22:52:19 UTC (rev 4912)
+++ mltonlib/trunk/com/ssh/extended-basis/unstable/extensions.use 2006-12-10 07:48:08 UTC (rev 4913)
@@ -19,7 +19,7 @@
"public/sq.sig", "detail/sq.sml",
"public/un-op.sig", "detail/un-op.sml",
"public/thunk.sig", "detail/thunk.sml",
- "public/univ.sig", "detail/univ-exn.sml",
+ "public/univ.sig", "detail/univ-common.sml", "detail/univ-exn.sml",
"public/bin-op.sig", "detail/bin-op.sml",
"public/effect.sig", "detail/effect.sml",
"public/fix.sig", "detail/fix.sml",
Modified: mltonlib/trunk/com/ssh/extended-basis/unstable/public/univ.sig
===================================================================
--- mltonlib/trunk/com/ssh/extended-basis/unstable/public/univ.sig 2006-12-08 22:52:19 UTC (rev 4912)
+++ mltonlib/trunk/com/ssh/extended-basis/unstable/public/univ.sig 2006-12-10 07:48:08 UTC (rev 4913)
@@ -4,10 +4,29 @@
* See the LICENSE file or http://mlton.org/License for details.
*)
-(** Signature for a basic universal type. *)
+(**
+ * Signature for a basic universal type.
+ *
+ * See also: [http://mlton.org/UniversalType]
+ *)
signature UNIV = sig
type t
+ (** The universal type. *)
+ exception Univ
+ (** Raised in case of a mismatched projection. *)
+
val newIso : ('a, t) Iso.t Thunk.t
+ (**
+ * Creates a new embedding of an arbitrary type {'a} to the universal
+ * type {t} and returns it as an isomorphism whose projection function
+ * is partial. The projection function raises {Univ} in case of a
+ * mismatch.
+ *)
+
val newEmb : ('a, t) Emb.t Thunk.t
+ (**
+ * Creates a new embedding of an arbitrary type {'a} to the universal
+ * type {t}.
+ *)
end
|
|
From: Vesa K. <ve...@ml...> - 2006-12-08 14:52:21
|
Using qualified type name for consistency.
----------------------------------------------------------------------
U mltonlib/trunk/com/ssh/extended-basis/unstable/detail/bootstrap.sml
U mltonlib/trunk/com/ssh/extended-basis/unstable/public/string.sig
----------------------------------------------------------------------
Modified: mltonlib/trunk/com/ssh/extended-basis/unstable/detail/bootstrap.sml
===================================================================
--- mltonlib/trunk/com/ssh/extended-basis/unstable/detail/bootstrap.sml 2006-12-08 18:00:36 UTC (rev 4911)
+++ mltonlib/trunk/com/ssh/extended-basis/unstable/detail/bootstrap.sml 2006-12-08 22:52:19 UTC (rev 4912)
@@ -10,6 +10,7 @@
structure Fn = struct type ('a, 'b) t = 'a -> 'b end
structure Unit = struct type t = unit end
structure Bool = struct open Bool type t = bool end
+structure Char = struct open Char type t = char end
structure Option = struct open Option type 'a t = 'a option end
structure String = struct open String type t = string end
structure Int = struct open Int type t = int end
Modified: mltonlib/trunk/com/ssh/extended-basis/unstable/public/string.sig
===================================================================
--- mltonlib/trunk/com/ssh/extended-basis/unstable/public/string.sig 2006-12-08 18:00:36 UTC (rev 4911)
+++ mltonlib/trunk/com/ssh/extended-basis/unstable/public/string.sig 2006-12-08 22:52:19 UTC (rev 4912)
@@ -31,7 +31,7 @@
(** == Isomorphisms == *)
- val isoList : (t, char List.t) Iso.t
+ val isoList : (t, Char.t List.t) Iso.t
(**
* An isomorphism between strings and lists. It is always equivalent
* to {(toList, fromList)}.
|
|
From: Matthew F. <fl...@ml...> - 2006-12-08 10:01:01
|
MAIL Restored -{,target}-{as,cc,link}-opt behavior
Reversed the behavior introduced by r4610.
The command switches -{,target}-{as,cc,link}-opt always tokenize their
argument on Char.isSpace, yeilding multiple gcc arguments.
The (new) command switches -{,target}-{as,cc,link}-opt-quote never
tokenize their argument, yeilding a single gcc argument.
Use the later if you need to pass include or library paths that have
spaces.
----------------------------------------------------------------------
U mlton/trunk/bin/mlton-script
U mlton/trunk/doc/changelog
U mlton/trunk/mlton/main/main.fun
U mlton/trunk/package/mingw/mlton.bat
----------------------------------------------------------------------
Modified: mlton/trunk/bin/mlton-script
===================================================================
--- mlton/trunk/bin/mlton-script 2006-12-07 23:11:38 UTC (rev 4910)
+++ mlton/trunk/bin/mlton-script 2006-12-08 18:00:36 UTC (rev 4911)
@@ -70,46 +70,45 @@
# The darwin linker complains (loudly) about non-existent library
# search paths.
darwinLinkOpts=''
-if [ -d '/opt/local/lib' ]; then
- darwinLinkOpts="$darwinLinkOpts -L/opt/local/lib"
-fi
if [ -d '/sw/lib' ]; then
darwinLinkOpts="$darwinLinkOpts -L/sw/lib"
fi
+if [ -d '/opt/local/lib' ]; then
+ darwinLinkOpts="$darwinLinkOpts -L/opt/local/lib"
+fi
doit "$lib" \
-cc "$gcc" \
- -cc-opt "-I$lib/include" \
+ -cc-opt-quote "-I$lib/include" \
-cc-opt '-O1' \
- -cc-opts '-fno-strict-aliasing -fomit-frame-pointer -w' \
+ -cc-opt '-fno-strict-aliasing -fomit-frame-pointer -w' \
-mlb-path-map "$lib/mlb-path-map" \
- -target-as-opts amd64 '-m32 -mtune=opteron' \
- -target-cc-opts amd64 '-m32 -mtune=opteron' \
- -target-cc-opts darwin \
+ -target-as-opt amd64 '-m32 -mtune=opteron' \
+ -target-cc-opt amd64 '-m32 -mtune=opteron' \
+ -target-cc-opt darwin \
'-I/opt/local/include -I/sw/include' \
- -target-cc-opts freebsd '-I/usr/local/include' \
- -target-cc-opts netbsd '-I/usr/pkg/include' \
- -target-cc-opts openbsd '-I/usr/local/include' \
- -target-cc-opts solaris \
- '-Wa,-xarch=v8plusa
- -mcpu=ultrasparc' \
- -target-cc-opts sparc '-mcpu=v8 -m32' \
- -target-cc-opts x86 \
+ -target-cc-opt freebsd '-I/usr/local/include' \
+ -target-cc-opt netbsd '-I/usr/pkg/include' \
+ -target-cc-opt openbsd '-I/usr/local/include' \
+ -target-cc-opt solaris \
+ '-Wa,-xarch=v8plusa -mcpu=ultrasparc' \
+ -target-cc-opt sparc '-mcpu=v8 -m32' \
+ -target-cc-opt x86 \
'-fno-strength-reduce
-fschedule-insns
-fschedule-insns2
-malign-functions=5
-malign-jumps=2
-malign-loops=2' \
- -target-link-opts amd64 '-m32' \
- -target-link-opts darwin "$darwinLinkOpts" \
- -target-link-opts freebsd '-L/usr/local/lib/' \
- -target-link-opts mingw \
+ -target-link-opt amd64 '-m32' \
+ -target-link-opt darwin "$darwinLinkOpts" \
+ -target-link-opt freebsd '-L/usr/local/lib/' \
+ -target-link-opt mingw \
'-lws2_32 -lkernel32 -lpsapi -lnetapi32' \
- -target-link-opts netbsd \
+ -target-link-opt netbsd \
'-Wl,-R/usr/pkg/lib -L/usr/pkg/lib/' \
- -target-link-opts openbsd '-L/usr/local/lib/' \
- -target-link-opts solaris '-lnsl -lsocket -lrt' \
- -link-opts '-lgdtoa -lm -lgmp' \
+ -target-link-opt openbsd '-L/usr/local/lib/' \
+ -target-link-opt solaris '-lnsl -lsocket -lrt' \
+ -link-opt '-lgdtoa -lm -lgmp' \
-profile-exclude '<basis>' \
"$@"
Modified: mlton/trunk/doc/changelog
===================================================================
--- mlton/trunk/doc/changelog 2006-12-07 23:11:38 UTC (rev 4910)
+++ mlton/trunk/doc/changelog 2006-12-08 18:00:36 UTC (rev 4911)
@@ -1,5 +1,12 @@
Here are the changes since version 20051202.
+* 2006-12-8
+ - Added command line switches -{,target}-{as,cc,link}-opt-quote, which
+ pass their argument as a single argument to gcc (i.e., without
+ tokenization at spaces). These options support using headers and
+ libraries (including the MLton runtime headers and libraries) from a
+ path with spaces.
+
* 2006-12-02
- Extensive reorganization of garbage collector, runtime system, and
Basis Library implementation. (This is in preparation for future
Modified: mlton/trunk/mlton/main/main.fun
===================================================================
--- mlton/trunk/mlton/main/main.fun 2006-12-07 23:11:38 UTC (rev 4910)
+++ mlton/trunk/mlton/main/main.fun 2006-12-08 18:00:36 UTC (rev 4911)
@@ -47,19 +47,20 @@
| Yes
end
+val gcc: string ref = ref "<unset>"
val asOpts: {opt: string, pred: OptPred.t} list ref = ref []
-val buildConstants: bool ref = ref false
val ccOpts: {opt: string, pred: OptPred.t} list ref = ref []
+val linkOpts: {opt: string, pred: OptPred.t} list ref = ref []
+
+val buildConstants: bool ref = ref false
val coalesce: int option ref = ref NONE
val debugRuntime: bool ref = ref false
val expert: bool ref = ref false
val explicitAlign: Control.align option ref = ref NONE
val explicitCodegen: Control.codegen option ref = ref NONE
-val gcc: string ref = ref "<unset>"
val keepGenerated = ref false
val keepO = ref false
val keepSML = ref false
-val linkOpts: {opt: string, pred: OptPred.t} list ref = ref []
val output: string option ref = ref NONE
val profileSet: bool ref = ref false
val profileTimeSet: bool ref = ref false
@@ -140,11 +141,12 @@
usage (concat ["invalid -", flag, " flag: ", s])
open Control Popt
datatype z = datatype MLton.Platform.Arch.t
- fun splitString f opts =
- List.foreach (String.tokens (opts, Char.isSpace), f)
- fun splitString2 f (target, opts) =
- List.foreach (String.tokens (opts, Char.isSpace),
- fn opt => f (target, opt))
+ fun tokenizeOpt f opts =
+ List.foreach (String.tokens (opts, Char.isSpace),
+ fn opt => f opt)
+ fun tokenizeTargetOpt f (target, opts) =
+ List.foreach (String.tokens (opts, Char.isSpace),
+ fn opt => f (target, opt))
in
List.map
(
@@ -159,24 +161,22 @@
| _ => usage (concat ["invalid -align flag: ",
s]))))),
(Normal, "as-opt", " <opt>", "pass option to assembler",
- SpaceString (fn s =>
- List.push (asOpts, {opt = s, pred = OptPred.Yes}))),
- (Expert, "as-opts", " <opts>", "pass options to assembler",
+ (SpaceString o tokenizeOpt)
+ (fn s => List.push (asOpts, {opt = s, pred = OptPred.Yes}))),
+ (Expert, "as-opt-quote", " <opt>", "pass (quoted) option to assembler",
SpaceString
- (splitString (fn s =>
- List.push (asOpts, {opt = s, pred = OptPred.Yes})))),
+ (fn s => List.push (asOpts, {opt = s, pred = OptPred.Yes}))),
(Expert, "build-constants", " {false|true}",
"output C file that prints basis constants",
boolRef buildConstants),
(Expert, "cc", " <gcc>", "path to gcc executable",
SpaceString (fn s => gcc := s)),
(Normal, "cc-opt", " <opt>", "pass option to C compiler",
- SpaceString (fn s =>
- List.push (ccOpts, {opt = s, pred = OptPred.Yes}))),
- (Expert, "cc-opts", " <opts>", "pass options to C compiler",
+ (SpaceString o tokenizeOpt)
+ (fn s => List.push (ccOpts, {opt = s, pred = OptPred.Yes}))),
+ (Expert, "cc-opt-quote", " <opt>", "pass (quoted) option to C compiler",
SpaceString
- (splitString (fn s =>
- List.push (ccOpts, {opt = s, pred = OptPred.Yes})))),
+ (fn s => List.push (ccOpts, {opt = s, pred = OptPred.Yes}))),
(Expert, "coalesce", " <n>", "coalesce chunk size for C codegen",
Int (fn n => coalesce := SOME n)),
(Normal, "codegen",
@@ -306,12 +306,11 @@
end
| NONE => usage (concat ["invalid -keep-pass flag: ", s])))),
(Normal, "link-opt", " <opt>", "pass option to linker",
- SpaceString (fn s =>
- List.push (linkOpts, {opt = s, pred = OptPred.Yes}))),
- (Expert, "link-opts", " <opts>", "pass options to linker",
+ (SpaceString o tokenizeOpt)
+ (fn s => List.push (linkOpts, {opt = s, pred = OptPred.Yes}))),
+ (Expert, "link-opt-quote", " <opt>", "pass (quoted) option to linker",
SpaceString
- (splitString (fn s =>
- List.push (linkOpts, {opt = s, pred = OptPred.Yes})))),
+ (fn s => List.push (linkOpts, {opt = s, pred = OptPred.Yes}))),
(Expert, "loop-passes", " <n>", "loop optimization passes (1)",
Int
(fn i =>
@@ -501,32 +500,29 @@
(target := (if t = "self" then Self else Cross t);
setTargetType (t, usage)))),
(Normal, "target-as-opt", " <target> <opt>", "target-dependent assembler option",
+ (SpaceString2 o tokenizeTargetOpt)
+ (fn (target, opt) =>
+ List.push (asOpts, {opt = opt, pred = OptPred.Target target}))),
+ (Expert, "target-as-opt-quote", " <target> <opt>", "target-dependent assembler option (quoted)",
(SpaceString2
(fn (target, opt) =>
List.push (asOpts, {opt = opt, pred = OptPred.Target target})))),
- (Expert, "target-as-opts", " <target> <opts>", "target-dependent assembler options",
- (SpaceString2
- (splitString2
- (fn (target, opt) =>
- List.push (asOpts, {opt = opt, pred = OptPred.Target target}))))),
(Normal, "target-cc-opt", " <target> <opt>", "target-dependent C compiler option",
+ (SpaceString2 o tokenizeTargetOpt)
+ (fn (target, opt) =>
+ List.push (ccOpts, {opt = opt, pred = OptPred.Target target}))),
+ (Expert, "target-cc-opt-quote", " <target> <opt>", "target-dependent C compiler option (quoted)",
(SpaceString2
(fn (target, opt) =>
List.push (ccOpts, {opt = opt, pred = OptPred.Target target})))),
- (Expert, "target-cc-opts", " <target> <opts>", "target-dependent C compiler options",
- (SpaceString2
- (splitString2
- (fn (target, opt) =>
- List.push (ccOpts, {opt = opt, pred = OptPred.Target target}))))),
(Normal, "target-link-opt", " <target> <opt>", "target-dependent linker option",
+ (SpaceString2 o tokenizeTargetOpt)
+ (fn (target, opt) =>
+ List.push (linkOpts, {opt = opt, pred = OptPred.Target target}))),
+ (Expert, "target-link-opt-quote", " <target> <opt>", "target-dependent linker option (quoted)",
(SpaceString2
(fn (target, opt) =>
List.push (linkOpts, {opt = opt, pred = OptPred.Target target})))),
- (Expert, "target-link-opts", " <target> <opts>", "target-dependent linker options",
- (SpaceString2
- (splitString2
- (fn (target, opt) =>
- List.push (linkOpts, {opt = opt, pred = OptPred.Target target}))))),
(Expert, #1 trace, " name1,...", "trace compiler internals", #2 trace),
(Expert, "type-check", " {false|true}", "type check ILs",
boolRef typeCheck),
Modified: mlton/trunk/package/mingw/mlton.bat
===================================================================
--- mlton/trunk/package/mingw/mlton.bat 2006-12-07 23:11:38 UTC (rev 4910)
+++ mlton/trunk/package/mingw/mlton.bat 2006-12-08 18:00:36 UTC (rev 4911)
@@ -32,7 +32,7 @@
set linkopts=-lgdtoa -lm
set linkopts=%linkopts% -lgmp -lws2_32 -lkernel32 -lpsapi -lnetapi32
-%mlton% @MLton load-world %world% ram-slop 0.5 -- %lib% -cc %cc% -cc-opt "-I%lib%\include" -cc-opts "%ccopts%" -mlb-path-map "%lib%\mlb-path-map" -link-opts "%linkopts%" %*
+%mlton% @MLton load-world %world% ram-slop 0.5 -- %lib% -cc %cc% -cc-opt-quote "-I%lib%\include" -cc-opt "%ccopts%" -mlb-path-map "%lib%\mlb-path-map" -link-opt "%linkopts%" %*
goto :eof
:setdir
|
|
From: Stephen W. <sw...@ml...> - 2006-12-07 15:11:49
|
First cut at my basis library replacement.
----------------------------------------------------------------------
A mltonlib/trunk/com/sweeks/
A mltonlib/trunk/com/sweeks/basic/
A mltonlib/trunk/com/sweeks/basic/unstable/
A mltonlib/trunk/com/sweeks/basic/unstable/EXPORT
A mltonlib/trunk/com/sweeks/basic/unstable/Makefile
A mltonlib/trunk/com/sweeks/basic/unstable/README
A mltonlib/trunk/com/sweeks/basic/unstable/array-slice.sig
A mltonlib/trunk/com/sweeks/basic/unstable/array-slice.sml
A mltonlib/trunk/com/sweeks/basic/unstable/array.0.sml
A mltonlib/trunk/com/sweeks/basic/unstable/array.1.sml
A mltonlib/trunk/com/sweeks/basic/unstable/array.sig
A mltonlib/trunk/com/sweeks/basic/unstable/basis.sml
A mltonlib/trunk/com/sweeks/basic/unstable/bit-flags.fun
A mltonlib/trunk/com/sweeks/basic/unstable/bit-flags.sig
A mltonlib/trunk/com/sweeks/basic/unstable/bool.sig
A mltonlib/trunk/com/sweeks/basic/unstable/bool.sml
A mltonlib/trunk/com/sweeks/basic/unstable/char.sig
A mltonlib/trunk/com/sweeks/basic/unstable/char.sml
A mltonlib/trunk/com/sweeks/basic/unstable/date.sig
A mltonlib/trunk/com/sweeks/basic/unstable/date.sml
A mltonlib/trunk/com/sweeks/basic/unstable/dir.sig
A mltonlib/trunk/com/sweeks/basic/unstable/dir.sml
A mltonlib/trunk/com/sweeks/basic/unstable/endian.sig
A mltonlib/trunk/com/sweeks/basic/unstable/endian.sml
A mltonlib/trunk/com/sweeks/basic/unstable/enumerable.fun
A mltonlib/trunk/com/sweeks/basic/unstable/enumerable.sig
A mltonlib/trunk/com/sweeks/basic/unstable/enumerate-get.fun
A mltonlib/trunk/com/sweeks/basic/unstable/enumerate.sig
A mltonlib/trunk/com/sweeks/basic/unstable/exn.sig
A mltonlib/trunk/com/sweeks/basic/unstable/exn.sml
A mltonlib/trunk/com/sweeks/basic/unstable/export.sig
A mltonlib/trunk/com/sweeks/basic/unstable/export.sml
A mltonlib/trunk/com/sweeks/basic/unstable/fields-and-tokens.fun
A mltonlib/trunk/com/sweeks/basic/unstable/file.sig
A mltonlib/trunk/com/sweeks/basic/unstable/file.sml
A mltonlib/trunk/com/sweeks/basic/unstable/generic-array.sig
A mltonlib/trunk/com/sweeks/basic/unstable/generic-slice.sig
A mltonlib/trunk/com/sweeks/basic/unstable/generic-vector.sig
A mltonlib/trunk/com/sweeks/basic/unstable/get.fun
A mltonlib/trunk/com/sweeks/basic/unstable/get.sig
A mltonlib/trunk/com/sweeks/basic/unstable/in.sig
A mltonlib/trunk/com/sweeks/basic/unstable/in.sml
A mltonlib/trunk/com/sweeks/basic/unstable/int-inf.sig
A mltonlib/trunk/com/sweeks/basic/unstable/int-inf.sml
A mltonlib/trunk/com/sweeks/basic/unstable/int.fun
A mltonlib/trunk/com/sweeks/basic/unstable/int.sig
A mltonlib/trunk/com/sweeks/basic/unstable/int.sml
A mltonlib/trunk/com/sweeks/basic/unstable/io-desc.sig
A mltonlib/trunk/com/sweeks/basic/unstable/io-desc.sml
A mltonlib/trunk/com/sweeks/basic/unstable/lazy.sig
A mltonlib/trunk/com/sweeks/basic/unstable/lazy.sml
A mltonlib/trunk/com/sweeks/basic/unstable/lib.mlb
A mltonlib/trunk/com/sweeks/basic/unstable/list.0.sml
A mltonlib/trunk/com/sweeks/basic/unstable/list.1.sml
A mltonlib/trunk/com/sweeks/basic/unstable/list.sig
A mltonlib/trunk/com/sweeks/basic/unstable/mono-array.sig
A mltonlib/trunk/com/sweeks/basic/unstable/mono-slice.sig
A mltonlib/trunk/com/sweeks/basic/unstable/mono-vector-slice.sig
A mltonlib/trunk/com/sweeks/basic/unstable/mono-vector.sig
A mltonlib/trunk/com/sweeks/basic/unstable/net.sig
A mltonlib/trunk/com/sweeks/basic/unstable/net.sml
A mltonlib/trunk/com/sweeks/basic/unstable/open-export.sml
A mltonlib/trunk/com/sweeks/basic/unstable/option.0.sml
A mltonlib/trunk/com/sweeks/basic/unstable/option.1.sml
A mltonlib/trunk/com/sweeks/basic/unstable/option.sig
A mltonlib/trunk/com/sweeks/basic/unstable/order.sig
A mltonlib/trunk/com/sweeks/basic/unstable/order.sml
A mltonlib/trunk/com/sweeks/basic/unstable/ordered.sig
A mltonlib/trunk/com/sweeks/basic/unstable/out.sig
A mltonlib/trunk/com/sweeks/basic/unstable/out.sml
A mltonlib/trunk/com/sweeks/basic/unstable/packable-real.fun
A mltonlib/trunk/com/sweeks/basic/unstable/packable-real.sig
A mltonlib/trunk/com/sweeks/basic/unstable/packable-word.fun
A mltonlib/trunk/com/sweeks/basic/unstable/packable-word.sig
A mltonlib/trunk/com/sweeks/basic/unstable/path.sig
A mltonlib/trunk/com/sweeks/basic/unstable/path.sml
A mltonlib/trunk/com/sweeks/basic/unstable/poll.sig
A mltonlib/trunk/com/sweeks/basic/unstable/poll.sml
A mltonlib/trunk/com/sweeks/basic/unstable/posix.sig
A mltonlib/trunk/com/sweeks/basic/unstable/posix.sml
A mltonlib/trunk/com/sweeks/basic/unstable/primitive.sml
A mltonlib/trunk/com/sweeks/basic/unstable/process.sig
A mltonlib/trunk/com/sweeks/basic/unstable/process.sml
A mltonlib/trunk/com/sweeks/basic/unstable/radix.sig
A mltonlib/trunk/com/sweeks/basic/unstable/radix.sml
A mltonlib/trunk/com/sweeks/basic/unstable/ram-sequence.fun
A mltonlib/trunk/com/sweeks/basic/unstable/real-structs.sml
A mltonlib/trunk/com/sweeks/basic/unstable/real.fun
A mltonlib/trunk/com/sweeks/basic/unstable/real.sig
A mltonlib/trunk/com/sweeks/basic/unstable/real.sml
A mltonlib/trunk/com/sweeks/basic/unstable/recur.fun
A mltonlib/trunk/com/sweeks/basic/unstable/ref.sig
A mltonlib/trunk/com/sweeks/basic/unstable/ref.sml
A mltonlib/trunk/com/sweeks/basic/unstable/scanner.0.sml
A mltonlib/trunk/com/sweeks/basic/unstable/scanner.1.sml
A mltonlib/trunk/com/sweeks/basic/unstable/scanner.sig
A mltonlib/trunk/com/sweeks/basic/unstable/seq.0.sml
A mltonlib/trunk/com/sweeks/basic/unstable/seq.1.sml
A mltonlib/trunk/com/sweeks/basic/unstable/seq.2.sml
A mltonlib/trunk/com/sweeks/basic/unstable/seq.sig
A mltonlib/trunk/com/sweeks/basic/unstable/sequence.sig
A mltonlib/trunk/com/sweeks/basic/unstable/slice.fun
A mltonlib/trunk/com/sweeks/basic/unstable/slice.sig
A mltonlib/trunk/com/sweeks/basic/unstable/sliceable.sig
A mltonlib/trunk/com/sweeks/basic/unstable/static-sum.sig
A mltonlib/trunk/com/sweeks/basic/unstable/static-sum.sml
A mltonlib/trunk/com/sweeks/basic/unstable/string.0.sml
A mltonlib/trunk/com/sweeks/basic/unstable/string.1.sml
A mltonlib/trunk/com/sweeks/basic/unstable/string.sig
A mltonlib/trunk/com/sweeks/basic/unstable/substring.sig
A mltonlib/trunk/com/sweeks/basic/unstable/substring.sml
A mltonlib/trunk/com/sweeks/basic/unstable/subtypes.sml
A mltonlib/trunk/com/sweeks/basic/unstable/sys-error.sig
A mltonlib/trunk/com/sweeks/basic/unstable/sys-error.sml
A mltonlib/trunk/com/sweeks/basic/unstable/thunk.sig
A mltonlib/trunk/com/sweeks/basic/unstable/thunk.sml
A mltonlib/trunk/com/sweeks/basic/unstable/time.sig
A mltonlib/trunk/com/sweeks/basic/unstable/time.sml
A mltonlib/trunk/com/sweeks/basic/unstable/util.sig
A mltonlib/trunk/com/sweeks/basic/unstable/util.sml
A mltonlib/trunk/com/sweeks/basic/unstable/vector-slice.sig
A mltonlib/trunk/com/sweeks/basic/unstable/vector-slice.sml
A mltonlib/trunk/com/sweeks/basic/unstable/vector.sig
A mltonlib/trunk/com/sweeks/basic/unstable/vector.sml
A mltonlib/trunk/com/sweeks/basic/unstable/word.fun
A mltonlib/trunk/com/sweeks/basic/unstable/word.sig
A mltonlib/trunk/com/sweeks/basic/unstable/word.sml
----------------------------------------------------------------------
Property changes on: mltonlib/trunk/com/sweeks/basic/unstable
___________________________________________________________________
Name: svn:ignore
+ TAGS
Added: mltonlib/trunk/com/sweeks/basic/unstable/EXPORT
===================================================================
--- mltonlib/trunk/com/sweeks/basic/unstable/EXPORT 2006-12-07 04:32:24 UTC (rev 4909)
+++ mltonlib/trunk/com/sweeks/basic/unstable/EXPORT 2006-12-07 23:11:38 UTC (rev 4910)
@@ -0,0 +1,2313 @@
+type 'a array = 'a array
+datatype bool = false | true
+eqtype char = char
+type exn = exn
+type int = int
+datatype 'a list = nil | :: of 'a * 'a list
+datatype 'a option = None | Some of 'a
+datatype order = Equal | Greater | Less
+type 'a seq = 'a seq
+eqtype string = string
+type 'a thunk = unit -> 'a
+eqtype unit = unit
+type 'a vector = 'a vector
+type word = word
+val * : ('a * 'a) -> 'a
+val + : ('a * 'a) -> 'a
+val - : ('a * 'a) -> 'a
+val / : ('a * 'a) -> 'a
+val < : ('a * 'a) -> bool
+val <= : ('a * 'a) -> bool
+val <> : ('a * 'a) -> bool
+val = : ('a * 'a) -> bool
+val > : ('a * 'a) -> bool
+val >= : ('a * 'a) -> bool
+val @ : ('a list * 'a list) -> 'a list
+val abs: 'a -> 'a
+val concat: string seq -> string
+val die: string -> 'a
+val div: ('a * 'a) -> 'a
+val finally: ((unit -> 'a) * (unit -> unit)) -> 'a
+val ignore: 'a -> unit
+val lazy: (unit -> 'a) -> (unit -> 'a)
+val mod: ('a * 'a) -> 'a
+val not: bool -> bool
+val o: (('a -> 'b) * ('c -> 'a)) -> ('c -> 'b)
+val print: string -> unit
+val valOf: 'a option -> 'a
+val ~ : 'a -> 'a
+structure Array: ARRAY
+ where type 'a elem = 'a Array.elem
+ where type 'a t = 'a ArraySlice.base
+ where type 'a unfold = 'a Array.unfold
+ where type 'a unfoldR = 'a Array.unfoldR
+structure ArraySlice: ARRAY_SLICE
+ where type 'a base = 'a ArraySlice.base
+ where type 'a elem = 'a ArraySlice.elem
+ where type 'a t = 'a ArraySlice.t
+structure Bool: BOOL
+structure Char: CHAR
+ where type t = char
+structure CommandLine: COMMAND_LINE
+structure Date: DATE
+ where type Month.t = Date.Month.t
+ where type WeekDay.t = Date.WeekDay.t
+ where type t = Date.t
+structure Dir: DIR
+ where type Stream.t = Dir.Stream.t
+structure Endian: ENDIAN
+ where type t = Endian.t
+structure Exn: EXN
+ where type t = exn
+structure File: FILE
+ where type AccessMode.t = File.AccessMode.t
+ where type Id.t = File.Id.t
+structure In: IN
+ where type t = In.t
+structure Int: INT
+ where type t = int
+structure Int16: INT
+ where type t = Int16.t
+structure Int32: INT
+ where type t = Int32.t
+structure Int64: INT
+ where type t = Int64.t
+structure Int8: INT
+ where type t = Int8.t
+structure IntInf: INT_INF
+ where type t = IntInf.t
+structure IoDesc: IO_DESC
+ where type Kind.t = IoDesc.Kind.t
+ where type t = IoDesc.t
+structure LargeInt: INT
+ where type t = LargeInt.t
+structure LargeReal: REAL
+ where type Class.t = LargeReal.Class.t
+ where type Format.t = LargeReal.Format.t
+ where type RoundingMode.t = LargeReal.RoundingMode.t
+ where type t = LargeReal.t
+structure LargeWord: WORD
+ where type t = LargeWord.t
+structure Lazy: LAZY
+structure List: LIST
+ where type 'a elem = 'a List.elem
+ where type 'a unfold = 'a List.unfold
+ where type 'a unfoldR = 'a List.unfoldR
+structure Net: NET
+ where type Family.inet = Net.Family.inet
+ where type 'a Family.t = 'a Net.Family.t
+ where type Family.unix = Net.Family.unix
+ where type Family.unknown = Net.Family.unknown
+ where type Host.Address.t = Net.Host.Address.t
+ where type Host.t = Net.Host.t
+ where type Protocol.t = Net.Protocol.t
+ where type Service.t = Net.Service.t
+ where type 'a Socket.Address.t = 'a Net.Socket.Address.t
+ where type ('a, 'b, 'c) Socket.Block.t = ('a, 'b, 'c) Net.Socket.Block.t
+ where type Socket.Desc.t = Net.Socket.Desc.t
+ where type Socket.Option.ro = Net.Socket.Option.ro
+ where type Socket.Option.rw = Net.Socket.Option.rw
+ where type ('a, 'b, 'c, 'd) Socket.Option.t = ('a, 'b, 'c, 'd) Net.Socket.Option.t
+ where type ('a, 'b, 'c, 'd, 'e, 'f, 'g, 'h, 'i) Socket.Receive.Block.t = ('a,
+ 'b,
+ 'c,
+ 'd,
+ 'e,
+ 'f,
+ 'g,
+ 'h,
+ 'i) Net.Socket.Receive.Block.t
+ where type Socket.Receive.Flag.t = Net.Socket.Receive.Flag.t
+ where type ('a, 'b, 'c, 'd) Socket.Receive.From.t = ('a,
+ 'b,
+ 'c,
+ 'd) Net.Socket.Receive.From.t
+ where type ('a, 'b, 'c, 'd, 'e, 'f, 'g) Socket.Receive.To.t = ('a,
+ 'b,
+ 'c,
+ 'd,
+ 'e,
+ 'f,
+ 'g) Net.Socket.Receive.To.t
+ where type ('a, 'b, 'c, 'd, 'e, 'f, 'g) Socket.Send.Block.t = ('a,
+ 'b,
+ 'c,
+ 'd,
+ 'e,
+ 'f,
+ 'g) Net.Socket.Send.Block.t
+ where type Socket.Send.Flag.t = Net.Socket.Send.Flag.t
+ where type Socket.Send.From.t = Net.Socket.Send.From.t
+ where type ('a, 'b, 'c, 'd) Socket.Send.To.t = ('a, 'b, 'c, 'd) Net.Socket.Send.To.t
+ where type Socket.ShutdownMode.t = Net.Socket.ShutdownMode.t
+ where type Socket.Type.active = Net.Socket.Type.active
+ where type Socket.Type.dgram = Net.Socket.Type.dgram
+ where type Socket.Type.passive = Net.Socket.Type.passive
+ where type 'a Socket.Type.stream = 'a Net.Socket.Type.stream
+ where type 'a Socket.Type.t = 'a Net.Socket.Type.t
+ where type Socket.Type.unknown = Net.Socket.Type.unknown
+ where type ('a, 'b) Socket.sock = ('a, 'b) Net.Socket.sock
+structure Option: OPTION
+ where type 'a t = 'a option
+structure Order: ORDER
+ where type t = Order.t
+structure Out: OUT
+ where type t = Out.t
+structure Path: PATH
+ where type Pieces.t = Path.Pieces.t
+structure Poll: POLL
+ where type Desc.t = Poll.Desc.t
+ where type Info.t = Poll.Info.t
+structure Posix: POSIX
+ where type AccessMode.t = Posix.AccessMode.t
+ where type Dev.t = Posix.Dev.t
+ where type DirStream.t = Posix.DirStream.t
+ where type Error.t = Posix.Error.t
+ where type ExitStatus.t = Posix.ExitStatus.t
+ where type ('a, 'b) Fcntl.t = ('a, 'b) Posix.Fcntl.t
+ where type FileDesc.t = Posix.FileDesc.t
+ where type FileDescFlags.t = Posix.FileDescFlags.t
+ where type FileStatusFlags.t = Posix.FileStatusFlags.t
+ where type FlowAction.t = Posix.FlowAction.t
+ where type Gid.t = Posix.Gid.t
+ where type Group.t = Posix.Group.t
+ where type Ino.t = Posix.Ino.t
+ where type KillArg.t = Posix.KillArg.t
+ where type Lock.Type.t = Posix.Lock.Type.t
+ where type Lock.t = Posix.Lock.t
+ where type Mode.t = Posix.Mode.t
+ where type OpenFlags.t = Posix.OpenFlags.t
+ where type OpenMode.t = Posix.OpenMode.t
+ where type Passwd.t = Posix.Passwd.t
+ where type Pid.t = Posix.Pid.t
+ where type QueueSel.t = Posix.QueueSel.t
+ where type SetAction.t = Posix.SetAction.t
+ where type Signal.t = Posix.Signal.t
+ where type Stat.t = Posix.Stat.t
+ where type Termios.C.t = Posix.Termios.C.t
+ where type Termios.CC.t = Posix.Termios.CC.t
+ where type Termios.I.t = Posix.Termios.I.t
+ where type Termios.L.t = Posix.Termios.L.t
+ where type Termios.O.t = Posix.Termios.O.t
+ where type Termios.Speed.t = Posix.Termios.Speed.t
+ where type Termios.t = Posix.Termios.t
+ where type Uid.t = Posix.Uid.t
+ where type WaitPidArg.t = Posix.WaitPidArg.t
+ where type WaitPidFlags.t = Posix.WaitPidFlags.t
+ where type Whence.t = Posix.Whence.t
+structure Process: PROCESS
+ where type Status.t = Process.Status.t
+structure Radix: RADIX
+ where type t = Radix.t
+structure Real: PACKABLE_REAL
+ where type Class.t = Real.Class.t
+ where type Format.t = Real.Format.t
+ where type RoundingMode.t = Real.RoundingMode.t
+ where type t = Real.t
+structure Real32: PACKABLE_REAL
+ where type Class.t = Real32.Class.t
+ where type Format.t = Real32.Format.t
+ where type RoundingMode.t = Real32.RoundingMode.t
+ where type t = Real32.t
+structure Real64: PACKABLE_REAL
+ where type Class.t = Real64.Class.t
+ where type Format.t = Real64.Format.t
+ where type RoundingMode.t = Real64.RoundingMode.t
+ where type t = Real64.t
+structure Ref: REF
+structure Scanner: SCANNER
+ where type 'a t = 'a Scanner.t
+structure Seq: SEQ
+ where type 'a elem = 'a Seq.elem
+ where type 'a t = 'a seq
+ where type 'a unfold = 'a Seq.unfold
+ where type 'a unfoldR = 'a Seq.unfoldR
+structure String: STRING
+ where type t = string
+ where type 'a unfold = 'a String.unfold
+ where type 'a unfoldR = 'a String.unfoldR
+structure Substring: SUBSTRING
+ where type 'a base = 'a Substring.base
+ where type t = Substring.t
+structure SysError: SYS_ERROR
+ where type Exn.t = SysError.Exn.t
+ where type t = SysError.t
+structure Time: TIME
+ where type t = Time.t
+structure Vector: VECTOR
+ where type 'a elem = 'a Vector.elem
+ where type 'a t = 'a vector
+ where type 'a unfold = 'a Vector.unfold
+ where type 'a unfoldR = 'a Vector.unfoldR
+structure VectorSlice: VECTOR_SLICE
+ where type 'a base = 'a vector
+ where type 'a elem = 'a VectorSlice.elem
+ where type 'a t = 'a VectorSlice.t
+structure Word: WORD
+ where type t = word
+structure Word16: WORD
+ where type t = Word16.t
+structure Word32: PACKABLE_WORD
+ where type t = Word32.t
+structure Word64: WORD
+ where type t = Word64.t
+structure Word8: WORD
+ where type t = Word8.t
+signature ARRAY =
+ sig
+ type 'a elem = 'a ?.elem
+ type 'a t = 'a ?.t
+ type 'a t0 = 'a ?.t
+ type 'a unfold = 'a ?.unfold
+ type 'a unfoldR = 'a ?.unfoldR
+ val all: ('a ?.t * ('a ?.elem -> bool)) -> bool
+ val append: ('a ?.t * 'a ?.t) -> 'a ?.t
+ val concat: 'a ?.t seq -> 'a ?.t
+ val cons: ('a ?.elem * 'a ?.t) -> 'a ?.t
+ val drop: ('a ?.t * ('a ?.elem -> bool)) -> 'a ?.t
+ val dropPrefix: ('a ?.t * ('a ?.elem -> bool)) -> 'a ?.t
+ val dropPrefixN: ('a ?.t * Int32.t) -> 'a ?.t
+ val dropSuffix: ('a ?.t * ('a ?.elem -> bool)) -> 'a ?.t
+ val dropSuffixN: ('a ?.t * Int32.t) -> 'a ?.t
+ val empty: unit -> 'a ?.t
+ val exists: ('a ?.t * ('a ?.elem -> bool)) -> bool
+ val fields: ('a ?.t * ('a ?.elem -> bool)) -> 'a ?.t seq
+ val find: ('a ?.t * ('a ?.elem -> bool)) -> 'a ?.elem option
+ val fold: ('a ?.t * 'b * (('a ?.elem * 'b) -> 'b)) -> 'b
+ val for: ('a ?.t * ('a ?.elem -> unit)) -> unit
+ val isEmpty: 'a ?.t -> bool
+ val join: ('a ?.t seq * 'a ?.t) -> 'a ?.t
+ val keep: ('a ?.t * ('a ?.elem -> bool)) -> 'a ?.t
+ val keepPrefix: ('a ?.t * ('a ?.elem -> bool)) -> 'a ?.t
+ val keepPrefixN: ('a ?.t * Int32.t) -> 'a ?.t
+ val keepSuffix: ('a ?.t * ('a ?.elem -> bool)) -> 'a ?.t
+ val keepSuffixN: ('a ?.t * Int32.t) -> 'a ?.t
+ val last: 'a ?.t -> 'a ?.elem
+ val make: (Int32.t * 'a) -> 'a ?.t
+ val map: ('a ?.t * ('a ?.elem -> 'b ?.elem)) -> 'b ?.t
+ val ofSeq: 'a ?.elem seq -> 'a ?.t
+ val ofSeqN: ('a ?.elem seq * Int32.t) -> 'a ?.t
+ val recur: ('a ?.t
+ * 'b
+ * ('b -> 'c)
+ * (('a ?.elem * 'b * ('b -> 'c)) -> 'c))
+ -> 'c
+ val reverse: 'a ?.t -> 'a ?.t
+ val separate: ('a ?.t * 'a ?.elem) -> 'a ?.t
+ val single: 'a ?.elem -> 'a ?.t
+ val size: 'a ?.t -> Int32.t
+ val splitPrefix: ('a ?.t * ('a ?.elem -> bool)) -> ('a ?.t * 'a ?.t)
+ val sub: ('a ?.t * Int32.t) -> 'a ?.elem
+ val tabulate: (Int32.t * (Int32.t -> 'a ?.elem)) -> 'a ?.t
+ val toSeq: 'a ?.t -> 'a ?.elem seq
+ val toSeqR: 'a ?.t -> 'a ?.elem seq
+ val tokens: ('a ?.t * ('a ?.elem -> bool)) -> 'a ?.t seq
+ val unfold: ('a * ('a -> ('b ?.elem * 'a) option))
+ -> ('b ?.t * 'a ?.unfold)
+ val unfoldN: (Int32.t * 'a * ((Int32.t * 'a) -> ('b ?.elem * 'a) option))
+ -> ('b ?.t * 'a ?.unfold)
+ val unfoldNR: (Int32.t * 'a * ((Int32.t * 'a) -> ('b ?.elem * 'a) option))
+ -> ('b ?.t * 'a ?.unfoldR)
+ val unfoldR: ('a * ('a -> ('b ?.elem * 'a) option))
+ -> ('b ?.t * 'a ?.unfoldR)
+ val update: ('a ?.t * Int32.t * 'a) -> unit
+ val updates: ('a ?.t * Int32.t * 'a seq) -> unit
+ structure Unsafe:
+ sig
+ val make: Int32.t -> 'a ?.t
+ val sub: ('a ?.t * Int32.t) -> 'a
+ val update: ('a ?.t * Int32.t * 'a) -> unit
+ end
+ end
+signature ARRAY_SLICE =
+ sig
+ type 'a base = 'a ?.base
+ type 'a elem = 'a ?.elem
+ type 'a t = 'a ?.t
+ type 'a t0 = 'a ?.t
+ val all: ('a ?.t * ('a ?.elem -> bool)) -> bool
+ val base: 'a ?.t -> ('a ?.base * {start: Int32.t})
+ val dropPrefix: ('a ?.t * ('a ?.elem -> bool)) -> 'a ?.t
+ val dropPrefixN: ('a ?.t * Int32.t) -> 'a ?.t
+ val dropSuffix: ('a ?.t * ('a ?.elem -> bool)) -> 'a ?.t
+ val dropSuffixN: ('a ?.t * Int32.t) -> 'a ?.t
+ val exists: ('a ?.t * ('a ?.elem -> bool)) -> bool
+ val fields: ('a ?.t * ('a ?.elem -> bool)) -> 'a ?.t seq
+ val find: ('a ?.t * ('a ?.elem -> bool)) -> 'a ?.elem option
+ val fold: ('a ?.t * 'b * (('a ?.elem * 'b) -> 'b)) -> 'b
+ val for: ('a ?.t * ('a ?.elem -> unit)) -> unit
+ val full: 'a ?.base -> 'a ?.t
+ val get: 'a ?.t -> ('a ?.elem * 'a ?.t) option
+ val isEmpty: 'a ?.t -> bool
+ val keepPrefix: ('a ?.t * ('a ?.elem -> bool)) -> 'a ?.t
+ val keepPrefixN: ('a ?.t * Int32.t) -> 'a ?.t
+ val keepSuffix: ('a ?.t * ('a ?.elem -> bool)) -> 'a ?.t
+ val keepSuffixN: ('a ?.t * Int32.t) -> 'a ?.t
+ val last: 'a ?.t -> 'a ?.elem
+ val map: ('a ?.t * ('a ?.elem -> 'b ?.elem)) -> 'b ?.base
+ val recur: ('a ?.t
+ * 'b
+ * ('b -> 'c)
+ * (('a ?.elem * 'b * ('b -> 'c)) -> 'c))
+ -> 'c
+ val size: 'a ?.t -> Int32.t
+ val slice: ('a ?.t * {size: Int32.t, start: Int32.t}) -> 'a ?.t
+ val splitPrefix: ('a ?.t * ('a ?.elem -> bool)) -> ('a ?.t * 'a ?.t)
+ val sub: ('a ?.t * Int32.t) -> 'a ?.elem
+ val toSeq: 'a ?.t -> 'a ?.elem seq
+ val toSeqR: 'a ?.t -> 'a ?.elem seq
+ val tokens: ('a ?.t * ('a ?.elem -> bool)) -> 'a ?.t seq
+ end
+signature BOOL =
+ sig
+ datatype t = false | true
+ val not: bool -> bool
+ end
+signature CHAR =
+ sig
+ type t = ?.t
+ val < : (?.t * ?.t) -> bool
+ val <= : (?.t * ?.t) -> bool
+ val == : (?.t * ?.t) -> bool
+ val > : (?.t * ?.t) -> bool
+ val >= : (?.t * ?.t) -> bool
+ val compare: (?.t * ?.t) -> order
+ val isAlpha: ?.t -> bool
+ val isAlphaNum: ?.t -> bool
+ val isAscii: ?.t -> bool
+ val isCntrl: ?.t -> bool
+ val isDigit: ?.t -> bool
+ val isGraph: ?.t -> bool
+ val isHexDigit: ?.t -> bool
+ val isLower: ?.t -> bool
+ val isPrint: ?.t -> bool
+ val isPunct: ?.t -> bool
+ val isSpace: ?.t -> bool
+ val isUpper: ?.t -> bool
+ val ofInt: Int32.t -> ?.t
+ val toInt: ?.t -> Int32.t
+ val toLower: ?.t -> ?.t
+ val toUpper: ?.t -> ?.t
+ end
+signature COMMAND_LINE =
+ sig
+ val arguments: unit -> string list
+ val name: unit -> string
+ end
+signature DATE =
+ sig
+ type t = ?.t
+ val format: (?.t * string) -> string
+ val hour: ?.t -> Int32.t
+ val isDst: ?.t -> bool option
+ val localOffset: unit -> Time.t
+ val make: {hour: Int32.t,
+ minute: Int32.t,
+ month: ?.Month.t,
+ monthDay: Int32.t,
+ offset: Time.t option,
+ second: Int32.t,
+ year: Int32.t}
+ -> ?.t
+ val minute: ?.t -> Int32.t
+ val month: ?.t -> ?.Month.t
+ val monthDay: ?.t -> Int32.t
+ val ofString: string -> ?.t option
+ val ofTimeLocal: Time.t -> ?.t
+ val ofTimeUniv: Time.t -> ?.t
+ val offset: ?.t -> Time.t option
+ val scanner: char seq -> (?.t * char seq) option
+ val second: ?.t -> Int32.t
+ val toString: ?.t -> string
+ val toTime: ?.t -> Time.t
+ val weekDay: ?.t -> ?.WeekDay.t
+ val year: ?.t -> Int32.t
+ val yearDay: ?.t -> Int32.t
+ structure Month:
+ sig
+ type t = ?.Month.t
+ val april: ?.Month.t
+ val august: ?.Month.t
+ val december: ?.Month.t
+ val february: ?.Month.t
+ val january: ?.Month.t
+ val july: ?.Month.t
+ val june: ?.Month.t
+ val march: ?.Month.t
+ val may: ?.Month.t
+ val november: ?.Month.t
+ val october: ?.Month.t
+ val september: ?.Month.t
+ end
+ structure WeekDay:
+ sig
+ type t = ?.WeekDay.t
+ val friday: ?.WeekDay.t
+ val monday: ?.WeekDay.t
+ val saturday: ?.WeekDay.t
+ val sunday: ?.WeekDay.t
+ val thursday: ?.WeekDay.t
+ val tuesday: ?.WeekDay.t
+ val wednesday: ?.WeekDay.t
+ end
+ end
+signature DIR =
+ sig
+ eqtype t = string
+ val changeTo: string -> unit
+ val create: string -> unit
+ val current: unit -> string
+ val openStream: string -> ?.Stream.t
+ val remove: string -> unit
+ structure Stream:
+ sig
+ type t = ?.Stream.t
+ val close: ?.Stream.t -> unit
+ val read: ?.Stream.t -> string option
+ val rewind: ?.Stream.t -> unit
+ end
+ end
+signature ENDIAN =
+ sig
+ datatype t = Big | Little
+ end
+signature EXN =
+ sig
+ type t = ?.t
+ val finally: ((unit -> 'a) * (unit -> unit)) -> 'a
+ val try: ((unit -> 'a) * ('a -> 'b) * (?.t -> 'b)) -> 'b
+ end
+signature FILE =
+ sig
+ eqtype t = string
+ val canAccess: (string * ?.AccessMode.t list) -> bool
+ val id: string -> ?.Id.t
+ val modTime: string -> Time.t
+ val openIn: string -> In.t
+ val openOut: string -> Out.t
+ val remove: string -> unit
+ val rename: {new: string, old: string} -> unit
+ val setTime: (string * Time.t) -> unit
+ val size: string -> Int64.t
+ val temp: {prefix: string, suffix: string} -> (string * Out.t)
+ val withIn: (string * (In.t -> 'a)) -> 'a
+ val withOut: (string * (Out.t -> 'a)) -> 'a
+ structure AccessMode:
+ sig
+ type t = ?.AccessMode.t
+ val exec: ?.AccessMode.t
+ val read: ?.AccessMode.t
+ val write: ?.AccessMode.t
+ end
+ structure Id:
+ sig
+ type t = ?.Id.t
+ val == : (?.Id.t * ?.Id.t) -> bool
+ val compare: (?.Id.t * ?.Id.t) -> order
+ val hash: ?.Id.t -> Word32.t
+ end
+ end
+signature IN =
+ sig
+ type t = ?.t
+ val close: ?.t -> unit
+ val get1: ?.t -> char option
+ val getAll: ?.t -> string
+ val getLine: ?.t -> string option
+ val lines: ?.t -> string seq
+ val standard: ?.t
+ end
+signature INT =
+ sig
+ type t = ?.t
+ val * : (?.t * ?.t) -> ?.t
+ val + : (?.t * ?.t) -> ?.t
+ val - : (?.t * ?.t) -> ?.t
+ val < : (?.t * ?.t) -> bool
+ val <= : (?.t * ?.t) -> bool
+ val == : (?.t * ?.t) -> bool
+ val > : (?.t * ?.t) -> bool
+ val >= : (?.t * ?.t) -> bool
+ val compare: (?.t * ?.t) -> order
+ val div: (?.t * ?.t) -> ?.t
+ val fold: (?.t * ?.t * 'a * ((?.t * 'a) -> 'a)) -> 'a
+ val foldDown: (?.t * ?.t * 'a * ((?.t * 'a) -> 'a)) -> 'a
+ val for: (?.t * ?.t * (?.t -> unit)) -> unit
+ val fromTo: (?.t * ?.t) -> ?.t seq
+ val fromToBy: (?.t * ?.t * ?.t) -> ?.t seq
+ val geu: (?.t * ?.t) -> bool
+ val mod: (?.t * ?.t) -> ?.t
+ val ofString: string -> ?.t option
+ val ofStringRadix: (string * Radix.t) -> ?.t option
+ val quot: (?.t * ?.t) -> ?.t
+ val rem: (?.t * ?.t) -> ?.t
+ val scanner: Radix.t -> (char seq -> (?.t * char seq) option)
+ val toString: ?.t -> string
+ val toStringRadix: (?.t * Radix.t) -> string
+ val toWord: ?.t -> Word32.t
+ end
+signature INT_INF =
+ sig
+ type t = ?.t
+ val * : (?.t * ?.t) -> ?.t
+ val + : (?.t * ?.t) -> ?.t
+ val - : (?.t * ?.t) -> ?.t
+ val < : (?.t * ?.t) -> bool
+ val <= : (?.t * ?.t) -> bool
+ val == : (?.t * ?.t) -> bool
+ val > : (?.t * ?.t) -> bool
+ val >= : (?.t * ?.t) -> bool
+ val compare: (?.t * ?.t) -> order
+ val div: (?.t * ?.t) -> ?.t
+ val fold: (?.t * ?.t * 'a * ((?.t * 'a) -> 'a)) -> 'a
+ val foldDown: (?.t * ?.t * 'a * ((?.t * 'a) -> 'a)) -> 'a
+ val for: (?.t * ?.t * (?.t -> unit)) -> unit
+ val fromTo: (?.t * ?.t) -> ?.t seq
+ val fromToBy: (?.t * ?.t * ?.t) -> ?.t seq
+ val geu: (?.t * ?.t) -> bool
+ val mod: (?.t * ?.t) -> ?.t
+ val ofString: string -> ?.t option
+ val ofStringRadix: (string * Radix.t) -> ?.t option
+ val quot: (?.t * ?.t) -> ?.t
+ val rem: (?.t * ?.t) -> ?.t
+ val scanner: Radix.t -> (char seq -> (?.t * char seq) option)
+ val toString: ?.t -> string
+ val toStringRadix: (?.t * Radix.t) -> string
+ val toWord: ?.t -> Word32.t
+ end
+signature IO_DESC =
+ sig
+ type t = ?.t
+ val compare: (?.t * ?.t) -> order
+ val hash: ?.t -> Word32.t
+ structure Kind:
+ sig
+ type t = ?.Kind.t
+ val == : (?.Kind.t * ?.Kind.t) -> bool
+ val device: ?.Kind.t
+ val dir: ?.Kind.t
+ val file: ?.Kind.t
+ val pipe: ?.Kind.t
+ val socket: ?.Kind.t
+ val symlink: ?.Kind.t
+ val tty: ?.Kind.t
+ end
+ end
+signature LAZY =
+ sig
+ val memo: (unit -> 'a) -> (unit -> 'a)
+ end
+signature LIST =
+ sig
+ type 'a elem = 'a ?.elem
+ datatype 'a t = nil | :: of 'a * 'a list
+ eqtype 'a t0 = 'a list
+ type 'a unfold = 'a ?.unfold
+ type 'a unfoldR = 'a ?.unfoldR
+ val all: ('a list * ('a ?.elem -> bool)) -> bool
+ val append: ('a list * 'a list) -> 'a list
+ val concat: 'a list seq -> 'a list
+ val cons: ('a ?.elem * 'a list) -> 'a list
+ val drop: ('a list * ('a ?.elem -> bool)) -> 'a list
+ val dropPrefix: ('a list * ('a ?.elem -> bool)) -> 'a list
+ val dropPrefixN: ('a list * Int32.t) -> 'a list
+ val dropSuffix: ('a list * ('a ?.elem -> bool)) -> 'a list
+ val dropSuffixN: ('a list * Int32.t) -> 'a list
+ val empty: unit -> 'a list
+ val exists: ('a list * ('a ?.elem -> bool)) -> bool
+ val fields: ('a list * ('a ?.elem -> bool)) -> 'a list seq
+ val find: ('a list * ('a ?.elem -> bool)) -> 'a ?.elem option
+ val fold: ('a list * 'b * (('a ?.elem * 'b) -> 'b)) -> 'b
+ val for: ('a list * ('a ?.elem -> unit)) -> unit
+ val isEmpty: 'a list -> bool
+ val join: ('a list seq * 'a list) -> 'a list
+ val keep: ('a list * ('a ?.elem -> bool)) -> 'a list
+ val keepPrefix: ('a list * ('a ?.elem -> bool)) -> 'a list
+ val keepPrefixN: ('a list * Int32.t) -> 'a list
+ val keepSuffix: ('a list * ('a ?.elem -> bool)) -> 'a list
+ val keepSuffixN: ('a list * Int32.t) -> 'a list
+ val last: 'a list -> 'a ?.elem
+ val map: ('a list * ('a ?.elem -> 'b ?.elem)) -> 'b list
+ val ofSeq: 'a ?.elem seq -> 'a list
+ val ofSeqN: ('a ?.elem seq * Int32.t) -> 'a list
+ val recur: ('a list
+ * 'b
+ * ('b -> 'c)
+ * (('a ?.elem * 'b * ('b -> 'c)) -> 'c))
+ -> 'c
+ val reverse: 'a list -> 'a list
+ val separate: ('a list * 'a ?.elem) -> 'a list
+ val single: 'a ?.elem -> 'a list
+ val size: 'a list -> Int32.t
+ val splitPrefix: ('a list * ('a ?.elem -> bool)) -> ('a list * 'a list)
+ val sub: ('a list * Int32.t) -> 'a ?.elem
+ val tabulate: (Int32.t * (Int32.t -> 'a ?.elem)) -> 'a list
+ val toSeq: 'a list -> 'a ?.elem seq
+ val toSeqR: 'a list -> 'a ?.elem seq
+ val tokens: ('a list * ('a ?.elem -> bool)) -> 'a list seq
+ val unfold: ('a * ('a -> ('b ?.elem * 'a) option))
+ -> ('b list * 'a ?.unfold)
+ val unfoldN: (Int32.t * 'a * ((Int32.t * 'a) -> ('b ?.elem * 'a) option))
+ -> ('b list * 'a ?.unfold)
+ val unfoldNR: (Int32.t * 'a * ((Int32.t * 'a) -> ('b ?.elem * 'a) option))
+ -> ('b list * 'a ?.unfoldR)
+ val unfoldR: ('a * ('a -> ('b ?.elem * 'a) option))
+ -> ('b list * 'a ?.unfoldR)
+ end
+signature NET =
+ sig
+ val getHostName: unit -> string
+ structure Family:
+ sig
+ type inet = ?.Family.inet
+ type 'a t = 'a ?.Family.t
+ type unix = ?.Family.unix
+ type unknown = ?.Family.unknown
+ val == : ('a ?.Family.t * 'a ?.Family.t) -> bool
+ val all: unit
+ -> (?.Family.unknown ?.Family.t * {name: string}) ?.vector
+ val inet: ?.Family.inet ?.Family.t
+ val ofString: string -> ?.Family.unknown ?.Family.t option
+ val toString: 'a ?.Family.t -> string
+ val unix: ?.Family.unix ?.Family.t
+ end
+ structure Host:
+ sig
+ type t = ?.Host.t
+ val address: ?.Host.t -> ?.Host.Address.t
+ val addresses: ?.Host.t -> ?.Host.Address.t ?.vector
+ val aliases: ?.Host.t -> string ?.vector
+ val family: ?.Host.t -> ?.Family.unknown ?.Family.t
+ val getByAddress: ?.Host.Address.t -> ?.Host.t option
+ val getByName: string -> ?.Host.t option
+ val name: ?.Host.t -> string
+ structure Address:
+ sig
+ type t = ?.Host.Address.t
+ val == : (?.Host.Address.t * ?.Host.Address.t) -> bool
+ val ofString: string -> ?.Host.Address.t option
+ val scanner: char seq -> (?.Host.Address.t * char seq) option
+ val toString: ?.Host.Address.t -> string
+ end
+ end
+ structure Protocol:
+ sig
+ type t = ?.Protocol.t
+ val aliases: ?.Protocol.t -> string ?.vector
+ val getByName: string -> ?.Protocol.t option
+ val getByNumber: Int32.t -> ?.Protocol.t option
+ val name: ?.Protocol.t -> string
+ val number: ?.Protocol.t -> Int32.t
+ end
+ structure Service:
+ sig
+ type t = ?.Service.t
+ val aliases: ?.Service.t -> string ?.vector
+ val getByName: (string * string option) -> ?.Service.t option
+ val getByPort: (Int32.t * string option) -> ?.Service.t option
+ val name: ?.Service.t -> string
+ val port: ?.Service.t -> Int32.t
+ val protocol: ?.Service.t -> string
+ end
+ structure Socket:
+ sig
+ type ('a, 'b) sock = ('a, 'b) ?.Socket.sock
+ type ('a, 'b) t = ('a, 'b) ?.Socket.sock
+ val accept: (('a, ?.Socket.Type.passive ?.Socket.Type.stream) ?.Socket.sock
+ * ((('a, ?.Socket.Type.active ?.Socket.Type.stream) ?.Socket.sock
+ * 'a ?.Socket.Address.t),
+ (('a, ?.Socket.Type.active ?.Socket.Type.stream) ?.Socket.sock
+ * 'a ?.Socket.Address.t) option,
+ 'b) ?.Socket.Block.t)
+ -> 'b
+ val bind: (('a, 'b) ?.Socket.sock * 'a ?.Socket.Address.t) -> unit
+ val close: ('a, 'b) ?.Socket.sock -> unit
+ val connect: (('a, 'b) ?.Socket.sock
+ * 'a ?.Socket.Address.t
+ * (unit, unit option, 'c) ?.Socket.Block.t)
+ -> 'c
+ val desc: ('a, 'b) ?.Socket.sock -> ?.Socket.Desc.t
+ val getOption: (('a, 'b) ?.Socket.sock
+ * ('c, 'a, 'b, 'd) ?.Socket.Option.t)
+ -> 'c
+ val ioDesc: ('a, 'b) ?.Socket.sock -> Int32.t
+ val listen: (('a, ?.Socket.Type.passive ?.Socket.Type.stream) ?.Socket.sock
+ * Int32.t)
+ -> unit
+ val make: ('a ?.Family.t
+ * 'b ?.Socket.Type.t
+ * {protocol: Int32.t} option)
+ -> ('a, 'b) ?.Socket.sock
+ val makePair: ('a ?.Family.t
+ * 'b ?.Socket.Type.t
+ * {protocol: Int32.t} option)
+ -> (('a, 'b) ?.Socket.sock * ('a, 'b) ?.Socket.sock)
+ val myAddress: ('a, 'b) ?.Socket.sock -> 'a ?.Socket.Address.t
+ val peerAddress: ('a, 'b) ?.Socket.sock -> 'a ?.Socket.Address.t
+ val select: {exs: ?.Socket.Desc.t list,
+ rds: ?.Socket.Desc.t list,
+ timeout: Time.t option,
+ wrs: ?.Socket.Desc.t list}
+ -> {exs: ?.Socket.Desc.t list,
+ rds: ?.Socket.Desc.t list,
+ wrs: ?.Socket.Desc.t list}
+ val setOption: (('a, 'b) ?.Socket.sock
+ * ('c, 'a, 'b, ?.Socket.Option.rw) ?.Socket.Option.t
+ * 'c)
+ -> unit
+ val shutdown: (('a, 'b ?.Socket.Type.stream) ?.Socket.sock
+ * ?.Socket.ShutdownMode.t)
+ -> unit
+ structure Address:
+ sig
+ type 'a t = 'a ?.Socket.Address.t
+ val == : ('a ?.Socket.Address.t * 'a ?.Socket.Address.t)
+ -> bool
+ val family: 'a ?.Socket.Address.t -> 'a ?.Family.t
+ val inet: {port: Int32.t} -> ?.Family.inet ?.Socket.Address.t
+ val ofHost: (?.Host.Address.t * {port: Int32.t})
+ -> ?.Family.inet ?.Socket.Address.t
+ val ofUnix: string -> ?.Family.unix ?.Socket.Address.t
+ val toHost: ?.Family.inet ?.Socket.Address.t
+ -> (?.Host.Address.t * {port: Int32.t})
+ val toUnix: ?.Family.unix ?.Socket.Address.t -> string
+ end
+ structure Block:
+ sig
+ type ('a, 'b, 'c) t = ('a, 'b, 'c) ?.Socket.Block.t
+ type ('a, 'b) u = ('a, 'a option, 'b) ?.Socket.Block.t
+ val may: ('a, 'b, 'a) ?.Socket.Block.t
+ val non: ('a, 'b, 'b) ?.Socket.Block.t
+ end
+ structure Desc:
+ sig
+ type t = ?.Socket.Desc.t
+ val == : (?.Socket.Desc.t * ?.Socket.Desc.t) -> bool
+ end
+ structure Option:
+ sig
+ type ro = ?.Socket.Option.ro
+ type rw = ?.Socket.Option.rw
+ type ('a, 'b, 'c, 'd) t = ('a, 'b, 'c, 'd) ?.Socket.Option.t
+ val atmark: (bool,
+ 'a,
+ ?.Socket.Type.active ?.Socket.Type.stream,
+ ?.Socket.Option.ro) ?.Socket.Option.t
+ val broadcast: (bool, 'a, 'b, ?.Socket.Option.rw) ?.Socket.Option.t
+ val debug: (bool, 'a, 'b, ?.Socket.Option.rw) ?.Socket.Option.t
+ val dontRoute: (bool, 'a, 'b, ?.Socket.Option.rw) ?.Socket.Option.t
+ val error: (bool, 'a, 'b, ?.Socket.Option.ro) ?.Socket.Option.t
+ val keepAlive: (bool, 'a, 'b, ?.Socket.Option.rw) ?.Socket.Option.t
+ val linger: (Time.t option, 'a, 'b, ?.Socket.Option.rw) ?.Socket.Option.t
+ val nRead: (Int32.t, 'a, 'b, ?.Socket.Option.ro) ?.Socket.Option.t
+ val noDelay: (bool,
+ ?.Family.inet,
+ 'a ?.Socket.Type.stream,
+ ?.Socket.Option.rw) ?.Socket.Option.t
+ val oobInline: (bool, 'a, 'b, ?.Socket.Option.rw) ?.Socket.Option.t
+ val rcvBuf: (Int32.t, 'a, 'b, ?.Socket.Option.rw) ?.Socket.Option.t
+ val reuseAddr: (bool, 'a, 'b, ?.Socket.Option.rw) ?.Socket.Option.t
+ val sndBuf: (Int32.t, 'a, 'b, ?.Socket.Option.rw) ?.Socket.Option.t
+ val ty: (?.Socket.Type.unknown ?.Socket.Type.t,
+ 'a,
+ 'b,
+ ?.Socket.Option.ro) ?.Socket.Option.t
+ end
+ structure Receive:
+ sig
+ val receive: (('a, 'b, 'c, 'd) ?.Socket.Receive.From.t
+ * ('a, 'e, 'f, 'g, 'h, 'b, 'c) ?.Socket.Receive.To.t
+ * ('a,
+ (Int32.t * 'a ?.Socket.Address.t),
+ Int32.t,
+ (Word8.t ?.vector * 'a ?.Socket.Address.t),
+ Word8.t ?.vector,
+ 'e,
+ 'f,
+ 'g,
+ 'h) ?.Socket.Receive.Block.t
+ * ?.Socket.Receive.Flag.t list)
+ -> 'd
+ structure Block:
+ sig
+ type ('a, 'b, 'c, 'd, 'e, 'f, 'g, 'h, 'i) t = ('a,
+ 'b,
+ 'c,
+ 'd,
+ 'e,
+ 'f,
+ 'g,
+ 'h,
+ 'i) ?.Socket.Receive.Block.t
+ val may: ('a, 'b, 'c, 'd, 'e, 'b, 'c, 'd, 'e) ?.Socket.Receive.Block.t
+ val non: ('a,
+ 'b,
+ 'c,
+ 'd,
+ 'e,
+ 'b option,
+ 'c option,
+ 'd option,
+ 'e option) ?.Socket.Receive.Block.t
+ end
+ structure Flag:
+ sig
+ type t = ?.Socket.Receive.Flag.t
+ val outOfBand: ?.Socket.Receive.Flag.t
+ val peek: ?.Socket.Receive.Flag.t
+ end
+ structure From:
+ sig
+ type ('a, 'b, 'c, 'd) t = ('a, 'b, 'c, 'd) ?.Socket.Receive.From.t
+ val dgram: ('a, ?.Socket.Type.dgram) ?.Socket.sock
+ -> ('a, 'b, 'c, 'b) ?.Socket.Receive.From.t
+ val stream: ('a,
+ ?.Socket.Type.active ?.Socket.Type.stream) ?.Socket.sock
+ -> ('a, 'b, 'c, 'c) ?.Socket.Receive.From.t
+ end
+ structure To:
+ sig
+ type ('a, 'b, 'c, 'd, 'e, 'f, 'g) t = ('a,
+ 'b,
+ 'c,
+ 'd,
+ 'e,
+ 'f,
+ 'g) ?.Socket.Receive.To.t
+ val array: Word8.t ?.Sequence.Slice.t
+ -> ('a, 'b, 'c, 'd, 'e, 'b, 'c) ?.Socket.Receive.To.t
+ val vector: {numBytes: Int32.t}
+ -> ('a, 'b, 'c, 'd, 'e, 'd, 'e) ?.Socket.Receive.To.t
+ end
+ end
+ structure Send:
+ sig
+ val send: (?.Socket.Send.From.t
+ * ('a, 'b, 'c, 'd) ?.Socket.Send.To.t
+ * ('a, unit, Int32.t, bool, Int32.t option, 'b, 'c) ?.Socket.Send.Block.t
+ * ?.Socket.Send.Flag.t list)
+ -> 'd
+ structure Block:
+ sig
+ type ('a, 'b, 'c, 'd, 'e, 'f, 'g) t = ('a,
+ 'b,
+ 'c,
+ 'd,
+ 'e,
+ 'f,
+ 'g) ?.Socket.Send.Block.t
+ val may: ('a, 'b, 'c, 'd, 'e, 'b, 'c) ?.Socket.Send.Block.t
+ val non: ('a, 'b, 'c, 'd, 'e, 'd, 'e) ?.Socket.Send.Block.t
+ end
+ structure Flag:
+ sig
+ type t = ?.Socket.Send.Flag.t
+ val dontRoute: ?.Socket.Send.Flag.t
+ val outOfBand: ?.Socket.Send.Flag.t
+ end
+ structure From:
+ sig
+ type t = ?.Socket.Send.From.t
+ val array: Word8.t ?.Sequence.Slice.t
+ -> ?.Socket.Send.From.t
+ val vector: Word8.t ?.Sequence.Slice.t
+ -> ?.Socket.Send.From.t
+ end
+ structure To:
+ sig
+ type ('a, 'b, 'c, 'd) t = ('a, 'b, 'c, 'd) ?.Socket.Send.To.t
+ val dgram: (('a, ?.Socket.Type.dgram) ?.Socket.sock
+ * 'a ?.Socket.Address.t)
+ -> ('a, 'b, 'c, 'b) ?.Socket.Send.To.t
+ val stream: ('a,
+ ?.Socket.Type.active ?.Socket.Type.stream) ?.Socket.sock
+ -> ('a, 'b, 'c, 'c) ?.Socket.Send.To.t
+ end
+ end
+ structure ShutdownMode:
+ sig
+ type t = ?.Socket.ShutdownMode.t
+ val noRecvs: ?.Socket.ShutdownMode.t
+ val noRecvsSends: ?.Socket.ShutdownMode.t
+ val noSends: ?.Socket.ShutdownMode.t
+ end
+ structure Type:
+ sig
+ type active = ?.Socket.Type.active
+ type activeStream = ?.Socket.Type.active ?.Socket.Type.stream
+ type dgram = ?.Socket.Type.dgram
+ type passive = ?.Socket.Type.passive
+ type passiveStream = ?.Socket.Type.passive ?.Socket.Type.stream
+ type 'a stream = 'a ?.Socket.Type.stream
+ type 'a t = 'a ?.Socket.Type.t
+ type unknown = ?.Socket.Type.unknown
+ val == : ('a ?.Socket.Type.t * 'a ?.Socket.Type.t) -> bool
+ val all: unit
+ -> (?.Socket.Type.unknown ?.Socket.Type.t
+ * {name: string}) ?.vector
+ val dgram: ?.Socket.Type.dgram ?.Socket.Type.t
+ val ofString: string
+ -> ?.Socket.Type.unknown ?.Socket.Type.t option
+ val stream: 'a ?.Socket.Type.stream ?.Socket.Type.t
+ val toString: 'a ?.Socket.Type.t -> string
+ end
+ end
+ end
+signature OPTION =
+ sig
+ datatype 'a t = None | Some of 'a
+ val isNone: 'a ?.t -> bool
+ val isSome: 'a ?.t -> bool
+ val map: ('a ?.t * ('a -> 'b)) -> 'b ?.t
+ val toSeq: 'a ?.t -> 'a seq
+ val valOf: 'a ?.t -> 'a
+ end
+signature ORDER =
+ sig
+ datatype t = Equal | Greater | Less
+ end
+signature OUT =
+ sig
+ type t = ?.t
+ val close: ?.t -> unit
+ val error: ?.t
+ val flush: ?.t -> unit
+ val newline: ?.t -> unit
+ val put: (?.t * string) -> unit
+ val put1: (?.t * char) -> unit
+ val puts: (?.t * string seq) -> unit
+ val standard: ?.t
+ end
+signature PACKABLE_REAL =
+ sig
+ type t = ?.t
+ val != : (?.t * ?.t) -> bool
+ val * : (?.t * ?.t) -> ?.t
+ val + : (?.t * ?.t) -> ?.t
+ val - : (?.t * ?.t) -> ?.t
+ val / : (?.t * ?.t) -> ?.t
+ val < : (?.t * ?.t) -> bool
+ val <= : (?.t * ?.t) -> bool
+ val == : (?.t * ?.t) -> bool
+ val > : (?.t * ?.t) -> bool
+ val >= : (?.t * ?.t) -> bool
+ val ?= : (?.t * ?.t) -> bool
+ val abs: ?.t -> ?.t
+ val acos: ?.t -> ?.t
+ val asin: ?.t -> ?.t
+ val atan: ?.t -> ?.t
+ val atan2: (?.t * ?.t) -> ?.t
+ val ceil: ?.t -> Int32.t
+ val checkFloat: ?.t -> ?.t
+ val class: ?.t -> ?.Class.t
+ val compare: (?.t * ?.t) -> order
+ val copySign: (?.t * ?.t) -> ?.t
+ val cos: ?.t -> ?.t
+ val cosh: ?.t -> ?.t
+ val e: ?.t
+ val exp: ?.t -> ?.t
+ val floor: ?.t -> Int32.t
+ val format: (?.t * ?.Format.t) -> string
+ val isFinite: ?.t -> bool
+ val isNan: ?.t -> bool
+ val isNormal: ?.t -> bool
+ val ln: ?.t -> ?.t
+ val log10: ?.t -> ?.t
+ val max: (?.t * ?.t) -> ?.t
+ val maxFinite: ?.t
+ val min: (?.t * ?.t) -> ?.t
+ val minNormalPos: ?.t
+ val minPos: ?.t
+ val negInf: ?.t
+ val nextAfter: (?.t * ?.t) -> ?.t
+ val ofBytes: (Word8.t ?.vector * ?.Endian.t) -> ?.t
+ val ofDecimal: {class: ?.Class.t,
+ digits: Int32.t list,
+ exp: Int32.t,
+ sign: bool}
+ -> ?.t option
+ val ofInt: Int32.t -> ?.t
+ val ofLarge: (Real64.t * ?.RoundingMode.t) -> ?.t
+ val ofLargeInt: IntInf.t -> ?.t
+ val ofManExp: {exp: Int32.t, man: ?.t} -> ?.t
+ val ofString: string -> ?.t option
+ val pi: ?.t
+ val posInf: ?.t
+ val pow: (?.t * ?.t) -> ?.t
+ val precision: Int32.t
+ val radix: Int32.t
+ val realCeil: ?.t -> ?.t
+ val realFloor: ?.t -> ?.t
+ val realMod: ?.t -> ?.t
+ val realRound: ?.t -> ?.t
+ val realTrunc: ?.t -> ?.t
+ val rem: (?.t * ?.t) -> ?.t
+ val round: ?.t -> Int32.t
+ val sameSign: (?.t * ?.t) -> bool
+ val scanner: char seq -> (?.t * char seq) option
+ val sign: ?.t -> Int32.t
+ val signBit: ?.t -> bool
+ val sin: ?.t -> ?.t
+ val sinh: ?.t -> ?.t
+ val split: ?.t -> {frac: ?.t, whole: ?.t}
+ val sqrt: ?.t -> ?.t
+ val subArr: (Word8.t ?.array * Int32.t * ?.Endian.t) -> ?.t
+ val subVec: (Word8.t ?.vector * Int32.t * ?.Endian.t) -> ?.t
+ val tan: ?.t -> ?.t
+ val tanh: ?.t -> ?.t
+ val toBytes: (?.t * ?.Endian.t) -> Word8.t ?.vector
+ val toDecimal: ?.t
+ -> {class: ?.Class.t,
+ digits: Int32.t list,
+ exp: Int32.t,
+ sign: bool}
+ val toInt: (?.t * ?.RoundingMode.t) -> Int32.t
+ val toLarge: ?.t -> Real64.t
+ val toLargeInt: (?.t * ?.RoundingMode.t) -> IntInf.t
+ val toManExp: ?.t -> {exp: Int32.t, man: ?.t}
+ val toString: ?.t -> string
+ val trunc: ?.t -> Int32.t
+ val unordered: (?.t * ?.t) -> bool
+ val update: (Word8.t ?.array * Int32.t * ?.t * ?.Endian.t) -> unit
+ val ~ : ?.t -> ?.t
+ structure Class:
+ sig
+ datatype t = Inf | Nan | Normal | Subnormal | Zero
+ end
+ structure Decimal:
+ sig
+ eqtype t = {class: ?.Class.t,
+ digits: Int32.t list,
+ exp: Int32.t,
+ sign: bool}
+ val ofString: string
+ -> {class: ?.Class.t,
+ digits: Int32.t list,
+ exp: Int32.t,
+ sign: bool} option
+ val scanner: char seq
+ -> ({class: ?.Class.t,
+ digits: Int32.t list,
+ exp: Int32.t,
+ sign: bool}
+ * char seq) option
+ val toString: {class: ?.Class.t,
+ digits: Int32.t list,
+ exp: Int32.t,
+ sign: bool}
+ -> string
+ end
+ structure Format:
+ sig
+ type t = ?.Format.t
+ val exact: ?.Format.t
+ val fix: Int32.t -> ?.Format.t
+ val gen: Int32.t -> ?.Format.t
+ val sci: Int32.t -> ?.Format.t
+ end
+ structure RoundingMode:
+ sig
+ type t = ?.RoundingMode.t
+ val get: unit -> ?.RoundingMode.t
+ val nearest: ?.RoundingMode.t
+ val negInf: ?.RoundingMode.t
+ val posInf: ?.RoundingMode.t
+ val set: ?.RoundingMode.t -> unit
+ val zero: ?.RoundingMode.t
+ end
+ end
+signature PACKABLE_WORD =
+ sig
+ type t = ?.t
+ val * : (?.t * ?.t) -> ?.t
+ val + : (?.t * ?.t) -> ?.t
+ val - : (?.t * ?.t) -> ?.t
+ val < : (?.t * ?.t) -> bool
+ val << : (?.t * Word32.t) -> ?.t
+ val <= : (?.t * ?.t) -> bool
+ val == : (?.t * ?.t) -> bool
+ val > : (?.t * ?.t) -> bool
+ val >= : (?.t * ?.t) -> bool
+ val >> : (?.t * Word32.t) -> ?.t
+ val andb: (?.t * ?.t) -> ?.t
+ val compare: (?.t * ?.t) -> order
+ val div: (?.t * ?.t) -> ?.t
+ val mod: (?.t * ?.t) -> ?.t
+ val notb: ?.t -> ?.t
+ val ofLarge: Word64.t -> ?.t
+ val ofString: string -> ?.t option
+ val ofStringRadix: (string * Radix.t) -> ?.t option
+ val orb: (?.t * ?.t) -> ?.t
+ val scanner: Radix.t -> (char seq -> (?.t * char seq) option)
+ val subArr: (Word8.t ?.array * Int32.t * ?.Endian.t) -> ?.t
+ val subVec: (Word8.t ?.vector * Int32.t * ?.Endian.t) -> ?.t
+ val toLarge: ?.t -> Word64.t
+ val toLargeX: ?.t -> Word64.t
+ val toString: ?.t -> string
+ val toStringRadix: (?.t * Radix.t) -> string
+ val update: (Word8.t ?.array * Int32.t * ?.t * ?.Endian.t) -> unit
+ val xorb: (?.t * ?.t) -> ?.t
+ val ~>> : (?.t * Word32.t) -> ?.t
+ end
+signature PATH =
+ sig
+ eqtype t = string
+ val append: (string * string) -> string
+ val base: string -> string
+ val dir: string -> string
+ val ext: string -> string option
+ val file: string -> string
+ val full: string -> string
+ val getParent: string -> string
+ val getVolume: string -> string
+ val isAbsolute: string -> bool
+ val isCanonical: string -> bool
+ val isDir: string -> bool
+ val isLink: string -> bool
+ val isRelative: string -> bool
+ val isRoot: string -> bool
+ val joinBaseExt: {base: string, ext: string option} -> string
+ val joinDirFile: {dir: string, file: string} -> string
+ val mkAbsolute: (string * {relativeTo: string}) -> string
+ val mkCanonical: string -> string
+ val mkRelative: (string * {relativeTo: string}) -> string
+ val ofPieces: ?.Pieces.t -> string
+ val ofUnix: string -> string
+ val readLink: string -> string
+ val real: string -> string
+ val splitBaseExt: string -> {base: string, ext: string option}
+ val splitDirFile: string -> {dir: string, file: string}
+ val toPieces: string -> ?.Pieces.t
+ val toUnix: string -> string
+ structure Arc:
+ sig
+ eqtype t = string
+ val current: string
+ val parent: string
+ end
+ structure Pieces:
+ sig
+ datatype t = T of {arcs: string list, isAbs: bool, volume: string}
+ end
+ structure Volume:
+ sig
+ eqtype t = string
+ val isValid: (string * {isAbs: bool}) -> bool
+ end
+ end
+signature POLL =
+ sig
+ val poll: (?.Desc.t list * Time.t option) -> ?.Info.t list
+ structure Desc:
+ sig
+ type t = ?.Desc.t
+ exception Poll
+ val addIn: ?.Desc.t -> ?.Desc.t
+ val addOut: ?.Desc.t -> ?.Desc.t
+ val addPri: ?.Desc.t -> ?.Desc.t
+ val ofIO: Int32.t -> ?.Desc.t option
+ val toIO: ?.Desc.t -> Int32.t
+ end
+ structure Info:
+ sig
+ type t = ?.Info.t
+ val isIn: ?.Info.t -> bool
+ val isOut: ?.Info.t -> bool
+ val isPri: ?.Info.t -> bool
+ val toDesc: ?.Info.t -> ?.Desc.t
+ end
+ end
+signature POSIX =
+ sig
+ val access: (string * ?.AccessMode.t list) -> bool
+ val alarm: Time.t -> Time.t
+ val cfgetispeed: ?.Termios.t -> ?.Termios.Speed.t
+ val cfgetospeed: ?.Termios.t -> ?.Termios.Speed.t
+ val cfsetispeed: (?.Termios.t * ?.Termios.Speed.t) -> ?.Termios.t
+ val cfsetospeed: (?.Termios.t * ?.Termios.Speed.t) -> ?.Termios.t
+ val chdir: string -> unit
+ val chmod: (string * ?.Mode.t) -> unit
+ val chown: (string * ?.Uid.t * ?.Gid.t) -> unit
+ val close: ?.FileDesc.t -> unit
+ val closedir: ?.DirStream.t -> unit
+ val creat: (string * ?.Mode.t) -> ?.FileDesc.t
+ val createf: (string * ?.OpenMode.t * ?.OpenFlags.t * ?.Mode.t)
+ -> ?.FileDesc.t
+ val ctermid: unit -> string
+ val dup: ?.FileDesc.t -> ?.FileDesc.t
+ val dup2: {new: ?.FileDesc.t, old: ?.FileDesc.t} -> unit
+ val environ: unit -> string list
+ val exec: (string * string list) -> 'a
+ val exece: (string * string list * string list) -> 'a
+ val execp: (string * string list) -> 'a
+ val exit: Word8.t -> 'a
+ val fchmod: (?.FileDesc.t * ?.Mode.t) -> unit
+ val fchown: (?.FileDesc.t * ?.Uid.t * ?.Gid.t) -> unit
+ val fcntl: (?.FileDesc.t * ('a, 'b) ?.Fcntl.t * 'a) -> 'b
+ val fork: unit -> ?.Pid.t option
+ val fpathconf: (?.FileDesc.t * string) -> Word64.t option
+ val fstat: ?.FileDesc.t -> ?.Stat.t
+ val fsync: ?.FileDesc.t -> unit
+ val ftruncate: (?.FileDesc.t * Int64.t) -> unit
+ val getcwd: unit -> string
+ val getegid: unit -> ?.Gid.t
+ val getenv: string -> string option
+ val geteuid: unit -> ?.Uid.t
+ val getgid: unit -> ?.Gid.t
+ val getgrgid: ?.Gid.t -> ?.Group.t
+ val getgrnam: string -> ?.Group.t
+ val getgroups: unit -> ?.Gid.t list
+ val getlogin: unit -> string
+ val getpgrp: unit -> ?.Pid.t
+ val getpid: unit -> ?.Pid.t
+ val getppid: unit -> ?.Pid.t
+ val getpwnam: string -> ?.Passwd.t
+ val getpwuid: ?.Uid.t -> ?.Passwd.t
+ val getuid: unit -> ?.Uid.t
+ val isatty: ?.FileDesc.t -> bool
+ val kill: (?.KillArg.t * ?.Signal.t) -> unit
+ val link: {new: string, old: string} -> unit
+ val lseek: (?.FileDesc.t * Int64.t * ?.Whence.t) -> Int64.t
+ val lstat: string -> ?.Stat.t
+ val mkdir: (string * ?.Mode.t) -> unit
+ val mkfifo: (string * ?.Mode.t) -> unit
+ val opendir: string -> ?.DirStream.t
+ val openf: (string * ?.OpenMode.t * ?.OpenFlags.t) -> ?.FileDesc.t
+ val pathconf: (string * string) -> Word64.t option
+ val pause: unit -> unit
+ val pipe: unit -> {infd: ?.FileDesc.t, outfd: ?.FileDesc.t}
+ val readArr: (?.FileDesc.t * Word8.t ?.Sequence.Slice.t) -> Int32.t
+ val readVec: (?.FileDesc.t * Int32.t) -> Word8.t ?.vector
+ val readdir: ?.DirStream.t -> string option
+ val readlink: string -> string
+ val rename: {new: string, old: string} -> unit
+ val rewinddir: ?.DirStream.t -> unit
+ val rmdir: string -> unit
+ val setgid: ?.Gid.t -> unit
+ val setpgid: {pgid: ?.Pid.t option, pid: ?.Pid.t option} -> unit
+ val setsid: unit -> ?.Pid.t
+ val setuid: ?.Uid.t -> unit
+ val sleep: Time.t -> Time.t
+ val stat: string -> ?.Stat.t
+ val symlink: {new: string, old: string} -> unit
+ val sysconf: string -> Word64.t
+ val tcdrain: ?.FileDesc.t -> unit
+ val tcflow: (?.FileDesc.t * ?.FlowAction.t) -> unit
+ val tcflush: (?.FileDesc.t * ?.QueueSel.t) -> unit
+ val tcgetattr: ?.FileDesc.t -> ?.Termios.t
+ val tcgetpgrp: ?.FileDesc.t -> ?.Pid.t
+ val tcsendbreak: (?.FileDesc.t * Int32.t) -> unit
+ val tcsetattr: (?.FileDesc.t * ?.SetAction.t * ?.Termios.t) -> unit
+ val tcsetpgrp: (?.FileDesc.t * ?.Pid.t) -> unit
+ val time: unit -> Time.t
+ val times: unit
+ -> {cstime: Time.t,
+ cutime: Time.t,
+ elapsed: Time.t,
+ stime: Time.t,
+ utime: Time.t}
+ val ttyname: ?.FileDesc.t -> string
+ val umask: ?.Mode.t -> ?.Mode.t
+ val uname: unit -> (string * string) list
+ val unlink: string -> unit
+ val utime: (string * {actime: Time.t, modtime: Time.t} option) -> unit
+ val wait: unit -> (?.Pid.t * ?.ExitStatus.t)
+ val waitpid: (?.WaitPidArg.t * ?.WaitPidFlags.t list)
+ -> (?.Pid.t * ?.ExitStatus.t)
+ val waitpidNohang: (?.WaitPidArg.t * ?.WaitPidFlags.t list)
+ -> (?.Pid.t * ?.ExitStatus.t) option
+ val writeArr: (?.FileDesc.t * Word8.t ?.Sequence.Slice.t) -> Int32.t
+ val writeVec: (?.FileDesc.t * Word8.t ?.Sequence.Slice.t) -> Int32.t
+ structure AccessMode:
+ sig
+ type t = ?.AccessMode.t
+ val exec: ?.AccessMode.t
+ val read: ?.AccessMode.t
+ val write: ?.AccessMode.t
+ end
+ structure Dev:
+ sig
+ type t = ?.Dev.t
+ val ofWord: Word64.t -> ?.Dev.t
+ val toWord: ?.Dev.t -> Word64.t
+ end
+ structure DirStream:
+ sig
+ type t = ?.DirStream.t
+ end
+ structure Error:
+ sig
+ type t = ?.Error.t
+ val acces: ?.Error.t
+ val again: ?.Error.t
+ val badf: ?.Error.t
+ val badmsg: ?.Error.t
+ val busy: ?.Error.t
+ val canceled: ?.Error.t
+ val child: ?.Error.t
+ val deadlk: ?.Error.t
+ val dom: ?.Error.t
+ val exist: ?.Error.t
+ val fault: ?.Error.t
+ val fbig: ?.Error.t
+ val inprogress: ?.Error.t
+ val intr: ?.Error.t
+ val inval: ?.Error.t
+ val io: ?.Error.t
+ val isdir: ?.Error.t
+ val loop: ?.Error.t
+ val message: ?.Error.t -> string
+ val mfile: ?.Error.t
+ val mlink: ?.Error.t
+ val msgsize: ?.Error.t
+ val name: ?.Error.t -> string
+ val nametoolong: ?.Error.t
+ val nfile: ?.Error.t
+ val nodev: ?.Error.t
+ val noent: ?.Error.t
+ val noexec: ?.Error.t
+ val nolck: ?.Error.t
+ val nomem: ?.Error.t
+ val nospc: ?.Error.t
+ val nosys: ?.Error.t
+ val notdir: ?.Error.t
+ val notempty: ?.Error.t
+ val notsup: ?.Error.t
+ val notty: ?.Error.t
+ val nxio: ?.Error.t
+ val ofName: string -> ?.Error.t option
+ val ofWord: Word64.t -> ?.Error.t
+ val perm: ?.Error.t
+ val pipe: ?.Error.t
+ val range: ?.Error.t
+ val rofs: ?.Error.t
+ val spipe: ?.Error.t
+ val srch: ?.Error.t
+ val toWord: ?.Error.t -> Word64.t
+ val toobig: ?.Error.t
+ val xdev: ?.Error.t
+ end
+ structure ExitStatus:
+ sig
+ datatype t = Exited
+ | ExitStatus of Word8.t
+ | Signaled of ?.Signal.t
+ | Stopped of ?.Signal.t
+ val ofStatus: Int32.t -> ?.ExitStatus.t
+ end
+ structure Fcntl:
+ sig
+ type ('a, 'b) t = ('a, 'b) ?.Fcntl.t
+ val dupfd: (?.FileDesc.t, ?.FileDesc.t) ?.Fcntl.t
+ val getfd: (unit, ?.FileDescFlags.t) ?.Fcntl.t
+ val getfl: (unit, (?.FileStatusFlags.t * ?.OpenMode.t)) ?.Fcntl.t
+ val getlk: (?.Lock.t, ?.Lock.t) ?.Fcntl.t
+ val setfd: (?.FileDescFlags.t, unit) ?.Fcntl.t
+ val setfl: (?.FileStatusFlags.t, unit) ?.Fcntl.t
+ val setlk: (?.Lock.t, ?.Lock.t) ?.Fcntl.t
+ val setlkw: (?.Lock.t, ?.Lock.t) ?.Fcntl.t
+ end
+ structure FileDesc:
+ sig
+ type t = ?.FileDesc.t
+ val ofIODesc: Int32.t -> ?.FileDesc.t option
+ val ofWord: Word64.t -> ?.FileDesc.t
+ val stderr: ?.FileDesc.t
+ val stdin: ?.FileDesc.t
+ val stdout: ?.FileDesc.t
+ val toIODesc: ?.FileDesc.t -> Int32.t
+ val toWord: ?.FileDesc.t -> Word64.t
+ end
+ structure FileDescFlags:
+ sig
+ type t = ?.FileDescFlags.t
+ val all: ?.FileDescFlags.t
+ val cloexec: ?.FileDescFlags.t
+ val difference: (?.FileDescFlags.t * ?.FileDescFlags.t)
+ -> ?.FileDescFlags.t
+ val doIntersect: (?.FileDescFlags.t * ?.FileDescFlags.t) -> bool
+ val fromWord: Word64.t -> ?.FileDescFlags.t
+ val intersect: ?.FileDescFlags.t list -> ?.FileDescFlags.t
+ val isSubset: (?.FileDescFlags.t * ?.FileDescFlags.t) -> bool
+ val toWord: ?.FileDescFlags.t -> Word64.t
+ val union: ?.FileDescFlags.t list -> ?.FileDescFlags.t
+ end
+ structure FileStatusFlags:
+ sig
+ type t = ?.FileStatusFlags.t
+ val all: ?.FileStatusFlags.t
+ val append: ?.FileStatusFlags.t
+ val difference: (?.FileStatusFlags.t * ?.FileStatusFlags.t)
+ -> ?.FileStatusFlags.t
+ val doIntersect: (?.FileStatusFlags.t * ?.FileStatusFlags.t) -> bool
+ val fromWord: Word64.t -> ?.FileStatusFlags.t
+ val intersect: ?.FileStatusFlags.t list -> ?.FileStatusFlags.t
+ val isSubset: (?.FileStatusFlags.t * ?.FileStatusFlags.t) -> bool
+ val nonblock: ?.FileStatusFlags.t
+ val sync: ?.FileStatusFlags.t
+ val toWord: ?.FileStatusFlags.t -> Word64.t
+ val union: ?.FileStatusFlags.t list -> ?.FileStatusFlags.t
+ end
+ structure FlowAction:
+ sig
+ type t = ?.FlowAction.t
+ val ioff: ?.FlowAction.t
+ val ion: ?.FlowAction.t
+ val ooff: ?.FlowAction.t
+ val oon: ?.FlowAction.t
+ end
+ structure Gid:
+ sig
+ type t = ?.Gid.t
+ val ofWord: Word64.t -> ?.Gid.t
+ val toWord: ?.Gid.t -> Word64.t
+ end
+ structure Group:
+ sig
+ type t = ?.Group.t
+ val gid: ?.Group.t -> ?.Gid.t
+ val members: ?.Group.t -> string list
+ val name: ?.Group.t -> string
+ end
+ structure Ino:
+ sig
+ type t = ?.Ino.t
+ val ofWord: Word64.t -> ?.Ino.t
+ val toWord: ?.Ino.t -> Word64.t
+ end
+ structure KillArg:
+ sig
+ type t = ?.KillArg.t
+ val group: ?.Pid.t -> ?.KillArg.t
+ val proc: ?.Pid.t -> ?.KillArg.t
+ val sameGroup: ?.KillArg.t
+ end
+ structure Lock:
+ sig
+ type t = ?.Lock.t
+ val len: ?.Lock.t -> Int64.t
+ val make: {len: Int64.t,
+ pid: ?.Pid.t option,
+ sta...
[truncated message content] |
|
From: Matthew F. <fl...@ml...> - 2006-12-06 20:32:26
|
Compute both offsets and sizes of GC_state fields
----------------------------------------------------------------------
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/main/compile.fun
U mlton/branches/on-20050822-x86_64-branch/mlton/main/lookup-constant.fun
----------------------------------------------------------------------
Modified: mlton/branches/on-20050822-x86_64-branch/mlton/backend/runtime.fun
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/mlton/backend/runtime.fun 2006-12-07 03:36:25 UTC (rev 4908)
+++ mlton/branches/on-20050822-x86_64-branch/mlton/backend/runtime.fun 2006-12-07 04:32:24 UTC (rev 4909)
@@ -90,6 +90,52 @@
| StackLimit => !stackLimitOffset
| StackTop => !stackTopOffset
+ val canHandleSize: Bytes.t ref = ref Bytes.zero
+ val cardMapSize: Bytes.t ref = ref Bytes.zero
+ val currentThreadSize: Bytes.t ref = ref Bytes.zero
+ val curSourceSeqsIndexSize: Bytes.t ref = ref Bytes.zero
+ val exnStackSize: Bytes.t ref = ref Bytes.zero
+ val frontierSize: Bytes.t ref = ref Bytes.zero
+ val limitSize: Bytes.t ref = ref Bytes.zero
+ val limitPlusSlopSize: Bytes.t ref = ref Bytes.zero
+ val maxFrameSizeSize: Bytes.t ref = ref Bytes.zero
+ val signalIsPendingSize: Bytes.t ref = ref Bytes.zero
+ val stackBottomSize: Bytes.t ref = ref Bytes.zero
+ val stackLimitSize: Bytes.t ref = ref Bytes.zero
+ val stackTopSize: Bytes.t ref = ref Bytes.zero
+
+ fun setSizes {canHandle, cardMap, currentThread, curSourceSeqsIndex,
+ exnStack, frontier, limit, limitPlusSlop, maxFrameSize,
+ signalIsPending, stackBottom, stackLimit, stackTop} =
+ (canHandleSize := canHandle
+ ; cardMapSize := cardMap
+ ; currentThreadSize := currentThread
+ ; curSourceSeqsIndexSize := curSourceSeqsIndex
+ ; exnStackSize := exnStack
+ ; frontierSize := frontier
+ ; limitSize := limit
+ ; limitPlusSlopSize := limitPlusSlop
+ ; maxFrameSizeSize := maxFrameSize
+ ; signalIsPendingSize := signalIsPending
+ ; stackBottomSize := stackBottom
+ ; stackLimitSize := stackLimit
+ ; stackTopSize := stackTop)
+
+ val size =
+ fn CanHandle => !canHandleSize
+ | CardMap => !cardMapSize
+ | CurrentThread => !currentThreadSize
+ | CurSourceSeqsIndex => !curSourceSeqsIndexSize
+ | ExnStack => !exnStackSize
+ | Frontier => !frontierSize
+ | Limit => !limitSize
+ | LimitPlusSlop => !limitPlusSlopSize
+ | MaxFrameSize => !maxFrameSizeSize
+ | SignalIsPending => !signalIsPendingSize
+ | StackBottom => !stackBottomSize
+ | StackLimit => !stackLimitSize
+ | StackTop => !stackTopSize
+
val toString =
fn CanHandle => "CanHandle"
| CardMap => "CardMap"
Modified: mlton/branches/on-20050822-x86_64-branch/mlton/backend/runtime.sig
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/mlton/backend/runtime.sig 2006-12-07 03:36:25 UTC (rev 4908)
+++ mlton/branches/on-20050822-x86_64-branch/mlton/backend/runtime.sig 2006-12-07 04:32:24 UTC (rev 4909)
@@ -50,6 +50,20 @@
stackBottom: Bytes.t,
stackLimit: Bytes.t,
stackTop: Bytes.t} -> unit
+ val setSizes: {canHandle: Bytes.t,
+ cardMap: Bytes.t,
+ currentThread: Bytes.t,
+ curSourceSeqsIndex: Bytes.t,
+ exnStack: Bytes.t,
+ frontier: Bytes.t,
+ limit: Bytes.t,
+ limitPlusSlop: Bytes.t,
+ maxFrameSize: Bytes.t,
+ signalIsPending: Bytes.t,
+ stackBottom: Bytes.t,
+ stackLimit: Bytes.t,
+ stackTop: Bytes.t} -> unit
+ val size: t -> Bytes.t (* Field size in struct GC_state. *)
val toString: t -> string
end
structure RObjectType:
Modified: mlton/branches/on-20050822-x86_64-branch/mlton/main/compile.fun
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/mlton/main/compile.fun 2006-12-07 03:36:25 UTC (rev 4908)
+++ mlton/branches/on-20050822-x86_64-branch/mlton/main/compile.fun 2006-12-07 04:32:24 UTC (rev 4909)
@@ -440,7 +440,7 @@
val _ = Control.message (Control.Detail, fn () =>
CoreML.Program.layoutStats coreML)
*)
- (* Set GC_state offsets. *)
+ (* Set GC_state offsets and sizes. *)
val _ =
let
fun get (name: string): Bytes.t =
@@ -451,19 +451,35 @@
in
Runtime.GCField.setOffsets
{
- canHandle = get "atomicState",
- cardMap = get "generationalMaps.cardMapAbsolute",
- currentThread = get "currentThread",
- curSourceSeqsIndex = get "sourceMaps.curSourceSeqsIndex",
- exnStack = get "exnStack",
- frontier = get "frontier",
- limit = get "limit",
- limitPlusSlop = get "limitPlusSlop",
- maxFrameSize = get "maxFrameSize",
- signalIsPending = get "signalsInfo.signalIsPending",
- stackBottom = get "stackBottom",
- stackLimit = get "stackLimit",
- stackTop = get "stackTop"
+ canHandle = get "atomicState_Offset",
+ cardMap = get "generationalMaps.cardMapAbsolute_Offset",
+ currentThread = get "currentThread_Offset",
+ curSourceSeqsIndex = get "sourceMaps.curSourceSeqsIndex_Offset",
+ exnStack = get "exnStack_Offset",
+ frontier = get "frontier_Offset",
+ limit = get "limit_Offset",
+ limitPlusSlop = get "limitPlusSlop_Offset",
+ maxFrameSize = get "maxFrameSize_Offset",
+ signalIsPending = get "signalsInfo.signalIsPending_Offset",
+ stackBottom = get "stackBottom_Offset",
+ stackLimit = get "stackLimit_Offset",
+ stackTop = get "stackTop_Offset"
+ };
+ Runtime.GCField.setSizes
+ {
+ canHandle = get "atomicState_Size",
+ cardMap = get "generationalMaps.cardMapAbsolute_Size",
+ currentThread = get "currentThread_Size",
+ curSourceSeqsIndex = get "sourceMaps.curSourceSeqsIndex_Size",
+ exnStack = get "exnStack_Size",
+ frontier = get "frontier_Size",
+ limit = get "limit_Size",
+ limitPlusSlop = get "limitPlusSlop_Size",
+ maxFrameSize = get "maxFrameSize_Size",
+ signalIsPending = get "signalsInfo.signalIsPending_Size",
+ stackBottom = get "stackBottom_Size",
+ stackLimit = get "stackLimit_Size",
+ stackTop = get "stackTop_Size"
}
end
(* Setup endianness *)
Modified: mlton/branches/on-20050822-x86_64-branch/mlton/main/lookup-constant.fun
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/mlton/main/lookup-constant.fun 2006-12-07 03:36:25 UTC (rev 4908)
+++ mlton/branches/on-20050822-x86_64-branch/mlton/main/lookup-constant.fun 2006-12-07 04:32:24 UTC (rev 4909)
@@ -56,17 +56,22 @@
"stackTop"
]
-val gcFields =
+val gcFieldsOffsets =
List.map (gcFields, fn s =>
- {name = s,
+ {name = s ^ "_Offset",
value = concat ["offsetof (struct GC_state, ", s, ")"],
ty = ConstType.Word WordSize.default})
+val gcFieldsSizes =
+ List.map (gcFields, fn s =>
+ {name = s ^ "_Size",
+ value = concat ["sizeof (gcState.", s, ")"],
+ ty = ConstType.Word WordSize.default})
fun build (constants, out) =
let
val constants =
List.fold
- (constants, gcFields, fn ((name, ty), ac) =>
+ (constants, gcFieldsSizes @ gcFieldsOffsets, fn ((name, ty), ac) =>
if List.exists (buildConstants, fn (name', _) => name = name')
then ac
else {name = name, value = name, ty = ty} :: ac)
|
|
From: Matthew F. <fl...@ml...> - 2006-12-06 19:36:27
|
MLton.Pointer.t does not denote an ML pointer
----------------------------------------------------------------------
U mlton/branches/on-20050822-x86_64-branch/mlton/elaborate/elaborate-core.fun
----------------------------------------------------------------------
Modified: mlton/branches/on-20050822-x86_64-branch/mlton/elaborate/elaborate-core.fun
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/mlton/elaborate/elaborate-core.fun 2006-12-06 21:26:26 UTC (rev 4907)
+++ mlton/branches/on-20050822-x86_64-branch/mlton/elaborate/elaborate-core.fun 2006-12-07 03:36:25 UTC (rev 4908)
@@ -735,7 +735,9 @@
end)
in
[("Bool", CType.bool, Tycon.bool),
- ("Pointer", CType.pointer, Tycon.pointer),
+ ("Pointer",
+ CType.word (WordSize.pointer (), {signed = false}),
+ Tycon.pointer),
("Real32", CType.real RealSize.R32, Tycon.real RealSize.R32),
("Real64", CType.real RealSize.R64, Tycon.real RealSize.R64),
("Thread", CType.thread, Tycon.thread)]
|
|
From: Matthew F. <fl...@ml...> - 2006-12-06 13:26:34
|
Merge trunk revisions 4900:4906 into x86_64 branch
----------------------------------------------------------------------
U mlton/branches/on-20050822-x86_64-branch/bin/mlton-script
U mlton/branches/on-20050822-x86_64-branch/bin/regression
U mlton/branches/on-20050822-x86_64-branch/runtime/Makefile
U mlton/branches/on-20050822-x86_64-branch/runtime/platform/windows.c
----------------------------------------------------------------------
Modified: mlton/branches/on-20050822-x86_64-branch/bin/mlton-script
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/bin/mlton-script 2006-12-06 09:04:18 UTC (rev 4906)
+++ mlton/branches/on-20050822-x86_64-branch/bin/mlton-script 2006-12-06 21:26:26 UTC (rev 4907)
@@ -69,11 +69,12 @@
# The darwin linker complains (loudly) about non-existent library
# search paths.
-if [ -d '/opt/local/lib' ]; then
- darwinLinkOpts='-L/opt/local/lib'
+darwinLinkOpts=''
+if [ -d '/opt/local/lib' ]; then
+ darwinLinkOpts="$darwinLinkOpts -L/opt/local/lib"
fi
-if [ -d '/sw/lib' ]; then
- darwinLinkOpts='$darwinLinkOpts -L/sw/lib'
+if [ -d '/sw/lib' ]; then
+ darwinLinkOpts="$darwinLinkOpts -L/sw/lib"
fi
doit "$lib" \
@@ -101,7 +102,7 @@
-malign-jumps=2
-malign-loops=2' \
-target-link-opts amd64 '-m32' \
- -target-link-opts darwin '$darwinLinkOpts' \
+ -target-link-opts darwin "$darwinLinkOpts" \
-target-link-opts freebsd '-L/usr/local/lib/' \
-target-link-opts mingw \
'-lws2_32 -lkernel32 -lpsapi -lnetapi32' \
Modified: mlton/branches/on-20050822-x86_64-branch/bin/regression
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/bin/regression 2006-12-06 09:04:18 UTC (rev 4906)
+++ mlton/branches/on-20050822-x86_64-branch/bin/regression 2006-12-06 21:26:26 UTC (rev 4907)
@@ -215,7 +215,7 @@
fi
if $forMinGW; then
compare="$f.sed.ok"
- /c/cygwin/bin/sed 's/$/\r/' <"$f.ok" >"$compare"
+ sed $'s/$/\r/' <"$f.ok" >"$compare"
fi
if ! diff "$compare" "$tmp"; then
echo "difference with ${flags[*]} ${extraFlags[*]}"
Modified: mlton/branches/on-20050822-x86_64-branch/runtime/Makefile
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/runtime/Makefile 2006-12-06 09:04:18 UTC (rev 4906)
+++ mlton/branches/on-20050822-x86_64-branch/runtime/Makefile 2006-12-06 21:26:26 UTC (rev 4907)
@@ -20,6 +20,7 @@
GCC_VERSION := $(GCC_MAJOR_VERSION).$(GCC_MINOR_VERSION)
FLAGS :=
+EXE :=
OPTFLAGS := -O2 -fomit-frame-pointer
GCOPTFLAGS :=
DEBUGFLAGS :=
@@ -66,6 +67,10 @@
DEBUGFLAGS += -gstabs+
endif
+ifeq ($(TARGET_OS), cygwin)
+EXE := .exe
+endif
+
ifeq ($(TARGET_OS), darwin)
FLAGS += -I/sw/include -I/opt/local/include
endif
@@ -74,6 +79,10 @@
FLAGS += -I/usr/local/include
endif
+ifeq ($(TARGET_OS), mingw)
+EXE := .exe
+endif
+
ifeq ($(TARGET_OS), netbsd)
FLAGS += -I/usr/pkg/include
endif
@@ -145,14 +154,15 @@
WARNCFLAGS += -Wlong-long
# WARNCFLAGS += -Wunreachable-code
WARNCFLAGS += $(WARNFLAGS)
-OPTWARNCFLAGS := $(WARNCFLAGS) -Wdisabled-optimization $(OPTWARNFLAGS)
-DEBUGWARNCFLAGS := $(WARNCFLAGS) $(DEBUGWARNFLAGS)
# GCC doesn't recognize the %I64 format specifier which means %ll on windows
ifeq ($(TARGET_OS), mingw)
WARNCFLAGS += -Wno-format -Wno-missing-format-attribute
endif
+OPTWARNCFLAGS := $(WARNCFLAGS) -Wdisabled-optimization $(OPTWARNFLAGS)
+DEBUGWARNCFLAGS := $(WARNCFLAGS) $(DEBUGWARNFLAGS)
+
UTILHFILES := \
util.h \
$(shell find util -type f | grep '\.h$$')
@@ -265,7 +275,7 @@
$(CC) $(OPTCFLAGS) $(WARNCFLAGS) -o gen/gen-types gen/gen-types.c util.o
rm -f gen/c-types.h gen/c-types.sml gen/ml-types.h
cd gen && ./gen-types
- rm -f gen/gen-types
+ rm -f gen/gen-types$(EXE)
c-types.h ml-types.h: gen/c-types.h gen/ml-types.h
rm -f c-types.h ml-types.h
@@ -286,7 +296,7 @@
$(CC) $(OPTCFLAGS) $(WARNCFLAGS) -o bytecode/print-opcodes bytecode/print-opcodes.c
rm -f bytecode/opcodes
cd bytecode && ./print-opcodes > opcodes
- rm -f bytecode/print-opcodes
+ rm -f bytecode/print-opcodes$(EXE)
util-gdb.o: util.c $(UTILCFILES) cenv.h $(UTILHFILES)
@@ -345,6 +355,7 @@
echo GCC_MINOR_VERSION = $(GCC_MINOR_VERSION)
echo GCC_VERSION = $(GCC_VERSION)
echo FLAGS = $(FLAGS)
+ echo EXE = $(EXE)
echo OPTFLAGS = $(OPTFLAGS)
echo GCOPTFLAGS = $(GCOPTFLAGS)
echo DEBUGFLAGS = $(DEBUGFLAGS)
Modified: mlton/branches/on-20050822-x86_64-branch/runtime/platform/windows.c
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/runtime/platform/windows.c 2006-12-06 09:04:18 UTC (rev 4906)
+++ mlton/branches/on-20050822-x86_64-branch/runtime/platform/windows.c 2006-12-06 21:26:26 UTC (rev 4907)
@@ -1,4 +1,4 @@
-iHANDLE fileDesHandle (int fd);
+HANDLE fileDesHandle (int fd);
#define BUFSIZE 65536
|
|
From: Vesa K. <ve...@ml...> - 2006-12-06 01:04:25
|
Removed explicit path to sed so that the command can be found under MSYS.
Changed sed pattern to use ANSI C escape sequences (Bash feature) so that
\r will work.
----------------------------------------------------------------------
U mlton/trunk/bin/regression
----------------------------------------------------------------------
Modified: mlton/trunk/bin/regression
===================================================================
--- mlton/trunk/bin/regression 2006-12-05 12:26:27 UTC (rev 4905)
+++ mlton/trunk/bin/regression 2006-12-06 09:04:18 UTC (rev 4906)
@@ -215,7 +215,7 @@
fi
if $forMinGW; then
compare="$f.sed.ok"
- /c/cygwin/bin/sed 's/$/\r/' <"$f.ok" >"$compare"
+ sed $'s/$/\r/' <"$f.ok" >"$compare"
fi
if ! diff "$compare" "$tmp"; then
echo "difference with ${flags[*]} ${extraFlags[*]}"
|
|
From: Vesa K. <ve...@ml...> - 2006-12-05 04:26:28
|
Fixed a couple of bugs in the fixity table (>> was specified twice and
xorb was infixr).
----------------------------------------------------------------------
U mltonlib/trunk/com/ssh/extended-basis/unstable/public/infixes.sml
----------------------------------------------------------------------
Modified: mltonlib/trunk/com/ssh/extended-basis/unstable/public/infixes.sml
===================================================================
--- mltonlib/trunk/com/ssh/extended-basis/unstable/public/infixes.sml 2006-12-04 20:36:30 UTC (rev 4904)
+++ mltonlib/trunk/com/ssh/extended-basis/unstable/public/infixes.sml 2006-12-05 12:26:27 UTC (rev 4905)
@@ -50,7 +50,9 @@
infix 7 ! + - ^ ! andb ! ! ! +` -` !
! ! ! ! ! ^` !
(* ========================================================================== *)
-infixr 6 ! :: @ ! xorb ! ! ! ::` @` !
+infix 6 ! ! xorb ! ! ! !
+(* -------------------------------------------------------------------------- *)
+infixr 6 ! :: @ ! ! ! ! ::` @` !
(* ========================================================================== *)
infix 5 ! > >= = ! orb == ! ! ! =` !
! < <= <> ! != ?= ! ! ! !
@@ -65,8 +67,7 @@
(* -------------------------------------------------------------------------- *)
infixr 2 ! ! ! |< ! ! !
(* ========================================================================== *)
-infix 1 ! := ! orElse ! ! >>= >> ! ! :=: += -=
- ! ! ! ! >>& ! !
+infix 1 ! := ! orElse ! ! >>= >>& ! ! :=: += -=
(* ========================================================================== *)
infix 0 ! before ! ! ! ! &` ! &
(* -------------------------------------------------------------------------- *)
|
|
From: Matthew F. <fl...@ml...> - 2006-12-04 12:36:49
|
Wrong quotes for shell expansion
----------------------------------------------------------------------
U mlton/trunk/bin/mlton-script
----------------------------------------------------------------------
Modified: mlton/trunk/bin/mlton-script
===================================================================
--- mlton/trunk/bin/mlton-script 2006-12-04 15:01:00 UTC (rev 4903)
+++ mlton/trunk/bin/mlton-script 2006-12-04 20:36:30 UTC (rev 4904)
@@ -69,11 +69,12 @@
# The darwin linker complains (loudly) about non-existent library
# search paths.
-if [ -d '/opt/local/lib' ]; then
- darwinLinkOpts='-L/opt/local/lib'
+darwinLinkOpts=''
+if [ -d '/opt/local/lib' ]; then
+ darwinLinkOpts="$darwinLinkOpts -L/opt/local/lib"
fi
-if [ -d '/sw/lib' ]; then
- darwinLinkOpts='$darwinLinkOpts -L/sw/lib'
+if [ -d '/sw/lib' ]; then
+ darwinLinkOpts="$darwinLinkOpts -L/sw/lib"
fi
doit "$lib" \
@@ -101,7 +102,7 @@
-malign-jumps=2
-malign-loops=2' \
-target-link-opts amd64 '-m32' \
- -target-link-opts darwin '$darwinLinkOpts' \
+ -target-link-opts darwin "$darwinLinkOpts" \
-target-link-opts freebsd '-L/usr/local/lib/' \
-target-link-opts mingw \
'-lws2_32 -lkernel32 -lpsapi -lnetapi32' \
|
|
From: Matthew F. <fl...@ml...> - 2006-12-04 07:01:29
|
Set platform specific warnings before building OPTWARNCFLAGS and DEBUGWARNCFLAGS; the old behavior worked with 'lazy' make variables, but not with the new 'strict' make variables. ---------------------------------------------------------------------- U mlton/trunk/runtime/Makefile ---------------------------------------------------------------------- Modified: mlton/trunk/runtime/Makefile =================================================================== --- mlton/trunk/runtime/Makefile 2006-12-03 17:30:29 UTC (rev 4902) +++ mlton/trunk/runtime/Makefile 2006-12-04 15:01:00 UTC (rev 4903) @@ -154,14 +154,15 @@ WARNCFLAGS += -Wlong-long # WARNCFLAGS += -Wunreachable-code WARNCFLAGS += $(WARNFLAGS) -OPTWARNCFLAGS := $(WARNCFLAGS) -Wdisabled-optimization $(OPTWARNFLAGS) -DEBUGWARNCFLAGS := $(WARNCFLAGS) $(DEBUGWARNFLAGS) # GCC doesn't recognize the %I64 format specifier which means %ll on windows ifeq ($(TARGET_OS), mingw) WARNCFLAGS += -Wno-format -Wno-missing-format-attribute endif +OPTWARNCFLAGS := $(WARNCFLAGS) -Wdisabled-optimization $(OPTWARNFLAGS) +DEBUGWARNCFLAGS := $(WARNCFLAGS) $(DEBUGWARNFLAGS) + UTILHFILES := \ util.h \ $(shell find util -type f | grep '\.h$$') |
|
From: Vesa K. <ve...@ml...> - 2006-12-03 09:30:45
|
Added UnivRef (and moved Univ -> UnivExn), which is used on MLKit. ---------------------------------------------------------------------- A mltonlib/trunk/com/ssh/extended-basis/unstable/detail/mlkit/univ.sml A mltonlib/trunk/com/ssh/extended-basis/unstable/detail/mlton/univ.sml U mltonlib/trunk/com/ssh/extended-basis/unstable/detail/smlnj/unsealed.cm A mltonlib/trunk/com/ssh/extended-basis/unstable/detail/univ-exn.sml A mltonlib/trunk/com/ssh/extended-basis/unstable/detail/univ-ref.sml D mltonlib/trunk/com/ssh/extended-basis/unstable/detail/univ.sml U mltonlib/trunk/com/ssh/extended-basis/unstable/extensions.mlb U mltonlib/trunk/com/ssh/extended-basis/unstable/extensions.use ---------------------------------------------------------------------- Added: mltonlib/trunk/com/ssh/extended-basis/unstable/detail/mlkit/univ.sml =================================================================== --- mltonlib/trunk/com/ssh/extended-basis/unstable/detail/mlkit/univ.sml 2006-12-02 22:27:58 UTC (rev 4901) +++ mltonlib/trunk/com/ssh/extended-basis/unstable/detail/mlkit/univ.sml 2006-12-03 17:30:29 UTC (rev 4902) @@ -0,0 +1,7 @@ +(* Copyright (C) 2006 SSH Communications Security, Helsinki, Finland + * + * This code is released under the MLton license, a BSD-style license. + * See the LICENSE file or http://mlton.org/License for details. + *) + +structure Univ :> UNIV = UnivRef Property changes on: mltonlib/trunk/com/ssh/extended-basis/unstable/detail/mlkit/univ.sml ___________________________________________________________________ Name: svn:eol-style + native Added: mltonlib/trunk/com/ssh/extended-basis/unstable/detail/mlton/univ.sml =================================================================== --- mltonlib/trunk/com/ssh/extended-basis/unstable/detail/mlton/univ.sml 2006-12-02 22:27:58 UTC (rev 4901) +++ mltonlib/trunk/com/ssh/extended-basis/unstable/detail/mlton/univ.sml 2006-12-03 17:30:29 UTC (rev 4902) @@ -0,0 +1,7 @@ +(* Copyright (C) 2006 SSH Communications Security, Helsinki, Finland + * + * This code is released under the MLton license, a BSD-style license. + * See the LICENSE file or http://mlton.org/License for details. + *) + +structure Univ :> UNIV = UnivExn Property changes on: mltonlib/trunk/com/ssh/extended-basis/unstable/detail/mlton/univ.sml ___________________________________________________________________ Name: svn:eol-style + native Modified: mltonlib/trunk/com/ssh/extended-basis/unstable/detail/smlnj/unsealed.cm =================================================================== --- mltonlib/trunk/com/ssh/extended-basis/unstable/detail/smlnj/unsealed.cm 2006-12-02 22:27:58 UTC (rev 4901) +++ mltonlib/trunk/com/ssh/extended-basis/unstable/detail/smlnj/unsealed.cm 2006-12-03 17:30:29 UTC (rev 4902) @@ -48,7 +48,7 @@ ../tie.sml ../un-op.sml ../un-pr.sml - ../univ.sml + ../univ-exn.sml ../vector-slice.sml ../vector.sml ../with.sml Copied: mltonlib/trunk/com/ssh/extended-basis/unstable/detail/univ-exn.sml (from rev 4901, mltonlib/trunk/com/ssh/extended-basis/unstable/detail/univ.sml) =================================================================== --- mltonlib/trunk/com/ssh/extended-basis/unstable/detail/univ.sml 2006-12-02 22:27:58 UTC (rev 4901) +++ mltonlib/trunk/com/ssh/extended-basis/unstable/detail/univ-exn.sml 2006-12-03 17:30:29 UTC (rev 4902) @@ -0,0 +1,23 @@ +(* Copyright (C) 2006 SSH Communications Security, Helsinki, Finland + * + * This code is released under the MLton license, a BSD-style license. + * See the LICENSE file or http://mlton.org/License for details. + *) + +structure UnivExn :> UNIV = struct + type t = Exn.t + + fun newIso () = let + exception U of 'a + in + (U, fn U ? => ? | _ => raise Match) + end + + fun newEmb () = let + exception U of 'a + in + (U, fn U ? => SOME ? | _ => NONE) + end +end + +structure Univ :> UNIV = UnivExn Added: mltonlib/trunk/com/ssh/extended-basis/unstable/detail/univ-ref.sml =================================================================== --- mltonlib/trunk/com/ssh/extended-basis/unstable/detail/univ-ref.sml 2006-12-02 22:27:58 UTC (rev 4901) +++ mltonlib/trunk/com/ssh/extended-basis/unstable/detail/univ-ref.sml 2006-12-03 17:30:29 UTC (rev 4902) @@ -0,0 +1,28 @@ +(* Copyright (C) 2006 SSH Communications Security, Helsinki, Finland + * + * MLton is released under a BSD-style license. + * See the file MLton-LICENSE for details. + *) + +structure UnivRef :> UNIV = struct + datatype t = + IN of {clear : unit -> unit, + store : unit -> unit} + + local + fun mk deref = let + val r = ref NONE + in + (fn a => + IN {clear = fn () => r := NONE, + store = fn () => r := SOME a}, + fn IN {clear, store} => + deref ((store () ; !r) before clear ())) + end + in + fun newIso () = mk (fn SOME ? => ? | NONE => raise Match) + fun newEmb () = mk (fn ? => ?) + end +end + +structure Univ :> UNIV = UnivRef Property changes on: mltonlib/trunk/com/ssh/extended-basis/unstable/detail/univ-ref.sml ___________________________________________________________________ Name: svn:eol-style + native Deleted: mltonlib/trunk/com/ssh/extended-basis/unstable/detail/univ.sml =================================================================== --- mltonlib/trunk/com/ssh/extended-basis/unstable/detail/univ.sml 2006-12-02 22:27:58 UTC (rev 4901) +++ mltonlib/trunk/com/ssh/extended-basis/unstable/detail/univ.sml 2006-12-03 17:30:29 UTC (rev 4902) @@ -1,21 +0,0 @@ -(* Copyright (C) 2006 SSH Communications Security, Helsinki, Finland - * - * This code is released under the MLton license, a BSD-style license. - * See the LICENSE file or http://mlton.org/License for details. - *) - -structure Univ :> UNIV = struct - type t = exn - - fun newIso () = let - exception U of 'a - in - (U, fn U ? => ? | _ => raise Match) - end - - fun newEmb () = let - exception U of 'a - in - (U, fn U ? => SOME ? | _ => NONE) - end -end Modified: mltonlib/trunk/com/ssh/extended-basis/unstable/extensions.mlb =================================================================== --- mltonlib/trunk/com/ssh/extended-basis/unstable/extensions.mlb 2006-12-02 22:27:58 UTC (rev 4901) +++ mltonlib/trunk/com/ssh/extended-basis/unstable/extensions.mlb 2006-12-03 17:30:29 UTC (rev 4902) @@ -47,7 +47,17 @@ in bas public/thunk.sig detail/thunk.sml end end - basis Univ = bas public/univ.sig detail/univ.sml end + basis Univ = bas + public/univ.sig + local + ann "warnUnused false" in + detail/univ-ref.sml + detail/univ-exn.sml + end + in + detail/$(SML_COMPILER)/univ.sml + end + end basis BinOp = let open Fn Sq in Modified: mltonlib/trunk/com/ssh/extended-basis/unstable/extensions.use =================================================================== --- mltonlib/trunk/com/ssh/extended-basis/unstable/extensions.use 2006-12-02 22:27:58 UTC (rev 4901) +++ mltonlib/trunk/com/ssh/extended-basis/unstable/extensions.use 2006-12-03 17:30:29 UTC (rev 4902) @@ -19,7 +19,7 @@ "public/sq.sig", "detail/sq.sml", "public/un-op.sig", "detail/un-op.sml", "public/thunk.sig", "detail/thunk.sml", - "public/univ.sig", "detail/univ.sml", + "public/univ.sig", "detail/univ-exn.sml", "public/bin-op.sig", "detail/bin-op.sml", "public/effect.sig", "detail/effect.sml", "public/fix.sig", "detail/fix.sml", |
|
From: Matthew F. <fl...@ml...> - 2006-12-02 14:28:04
|
Fix typo in runtime/platform/windows.c. Clean up .exe files in 'make runtime'. ---------------------------------------------------------------------- U mlton/trunk/runtime/Makefile U mlton/trunk/runtime/platform/windows.c ---------------------------------------------------------------------- Modified: mlton/trunk/runtime/Makefile =================================================================== --- mlton/trunk/runtime/Makefile 2006-12-02 19:37:45 UTC (rev 4900) +++ mlton/trunk/runtime/Makefile 2006-12-02 22:27:58 UTC (rev 4901) @@ -20,6 +20,7 @@ GCC_VERSION := $(GCC_MAJOR_VERSION).$(GCC_MINOR_VERSION) FLAGS := +EXE := OPTFLAGS := -O2 -fomit-frame-pointer GCOPTFLAGS := DEBUGFLAGS := @@ -66,6 +67,10 @@ DEBUGFLAGS += -gstabs+ endif +ifeq ($(TARGET_OS), cygwin) +EXE := .exe +endif + ifeq ($(TARGET_OS), darwin) FLAGS += -I/sw/include -I/opt/local/include endif @@ -74,6 +79,10 @@ FLAGS += -I/usr/local/include endif +ifeq ($(TARGET_OS), mingw) +EXE := .exe +endif + ifeq ($(TARGET_OS), netbsd) FLAGS += -I/usr/pkg/include endif @@ -265,7 +274,7 @@ $(CC) $(OPTCFLAGS) $(WARNCFLAGS) -o gen/gen-types gen/gen-types.c util.o rm -f gen/c-types.h gen/c-types.sml gen/ml-types.h cd gen && ./gen-types - rm -f gen/gen-types + rm -f gen/gen-types$(EXE) c-types.h ml-types.h: gen/c-types.h gen/ml-types.h rm -f c-types.h ml-types.h @@ -286,7 +295,7 @@ $(CC) $(OPTCFLAGS) $(WARNCFLAGS) -o bytecode/print-opcodes bytecode/print-opcodes.c rm -f bytecode/opcodes cd bytecode && ./print-opcodes > opcodes - rm -f bytecode/print-opcodes + rm -f bytecode/print-opcodes$(EXE) util-gdb.o: util.c $(UTILCFILES) cenv.h $(UTILHFILES) @@ -345,6 +354,7 @@ echo GCC_MINOR_VERSION = $(GCC_MINOR_VERSION) echo GCC_VERSION = $(GCC_VERSION) echo FLAGS = $(FLAGS) + echo EXE = $(EXE) echo OPTFLAGS = $(OPTFLAGS) echo GCOPTFLAGS = $(GCOPTFLAGS) echo DEBUGFLAGS = $(DEBUGFLAGS) Modified: mlton/trunk/runtime/platform/windows.c =================================================================== --- mlton/trunk/runtime/platform/windows.c 2006-12-02 19:37:45 UTC (rev 4900) +++ mlton/trunk/runtime/platform/windows.c 2006-12-02 22:27:58 UTC (rev 4901) @@ -1,4 +1,4 @@ -iHANDLE fileDesHandle (int fd); +HANDLE fileDesHandle (int fd); #define BUFSIZE 65536 |
|
From: Matthew F. <fl...@ml...> - 2006-12-02 11:37:46
|
Merge trunk revisions 4898:4899 into x86_64 branch
----------------------------------------------------------------------
U mlton/branches/on-20050822-x86_64-branch/doc/changelog
----------------------------------------------------------------------
Modified: mlton/branches/on-20050822-x86_64-branch/doc/changelog
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/changelog 2006-12-02 19:35:08 UTC (rev 4899)
+++ mlton/branches/on-20050822-x86_64-branch/doc/changelog 2006-12-02 19:37:45 UTC (rev 4900)
@@ -1,5 +1,13 @@
Here are the changes since version 20051202.
+* 2006-12-02
+ - Extensive reorganization of garbage collector, runtime system, and
+ Basis Library implementation. (This is in preparation for future
+ 64bit support.) They should be more C standards compliant and easier
+ to port to new systems.
+ - FFI revisions
+ Disallow nested indirect types (e.g., int array array).
+
* 2006-11-30
- Fixed a bug in elaboration of FFI forms; unary FFI types (e.g.,
array, ref, vector) could be used in places where MLton.Pointer.t was
@@ -36,7 +44,7 @@
(except MinGW, yet, where it's still ignored).
* 2006-05-06
- - Added -default-type '<ty><N>' for specyfying the binding of default
+ - Added -default-type '<ty><N>' for specifying the binding of default
types in the Basis Library (e.g., Int.int).
* 2006-04-25
|
|
From: Matthew F. <fl...@ml...> - 2006-12-02 11:35:09
|
MAIL Announcing merge of x86_64 branch revisions into trunk
Although the changeset is huge, there should be few user visible
changes.
One major change is that the FFI syntax no longer supports nested
indirect types (e.g., int array array).
Another change is that the sizes of some system types in the Basis
Library are derived from the host sytem C types. For example, the
MLton.RLimit.RLim.t type might be 32bits or 64bits depending on the
size of the rlim_t type of the host system.
The "-default-type '<ty><N>'" command line option can be used to
specify the binding of default types in the Basis Library (e.g.,
Int.int).
There are known performance regressions with the PackWord<N>
structures, though they have been discussed and there are plans to
resolve them.
----------------------------------------------------------------------
U mlton/trunk/doc/changelog
----------------------------------------------------------------------
Modified: mlton/trunk/doc/changelog
===================================================================
--- mlton/trunk/doc/changelog 2006-12-02 19:06:13 UTC (rev 4898)
+++ mlton/trunk/doc/changelog 2006-12-02 19:35:08 UTC (rev 4899)
@@ -1,5 +1,13 @@
Here are the changes since version 20051202.
+* 2006-12-02
+ - Extensive reorganization of garbage collector, runtime system, and
+ Basis Library implementation. (This is in preparation for future
+ 64bit support.) They should be more C standards compliant and easier
+ to port to new systems.
+ - FFI revisions
+ Disallow nested indirect types (e.g., int array array).
+
* 2006-11-30
- Fixed a bug in elaboration of FFI forms; unary FFI types (e.g.,
array, ref, vector) could be used in places where MLton.Pointer.t was
@@ -36,7 +44,7 @@
(except MinGW, yet, where it's still ignored).
* 2006-05-06
- - Added -default-type '<ty><N>' for specyfying the binding of default
+ - Added -default-type '<ty><N>' for specifying the binding of default
types in the Basis Library (e.g., Int.int).
* 2006-04-25
|
|
From: Matthew F. <fl...@ml...> - 2006-12-02 11:10:54
|
Merge x86_64 branch revisions into trunk
----------------------------------------------------------------------
U mlton/trunk/Makefile
U mlton/trunk/basis-library/Makefile
U mlton/trunk/basis-library/README
U mlton/trunk/basis-library/arrays-and-vectors/array-slice.sig
U mlton/trunk/basis-library/arrays-and-vectors/array.sig
U mlton/trunk/basis-library/arrays-and-vectors/array.sml
U mlton/trunk/basis-library/arrays-and-vectors/array2.sml
U mlton/trunk/basis-library/arrays-and-vectors/mono-array-slice.sig
U mlton/trunk/basis-library/arrays-and-vectors/mono-array.sig
U mlton/trunk/basis-library/arrays-and-vectors/mono-array2.sig
U mlton/trunk/basis-library/arrays-and-vectors/mono-vector-slice.sig
U mlton/trunk/basis-library/arrays-and-vectors/mono.sml
U mlton/trunk/basis-library/arrays-and-vectors/sequence.fun
U mlton/trunk/basis-library/arrays-and-vectors/sequence.sig
U mlton/trunk/basis-library/arrays-and-vectors/slice.sig
U mlton/trunk/basis-library/arrays-and-vectors/vector-slice.sig
U mlton/trunk/basis-library/arrays-and-vectors/vector.sig
U mlton/trunk/basis-library/arrays-and-vectors/vector.sml
A mlton/trunk/basis-library/build/
A mlton/trunk/basis-library/config/
_U mlton/trunk/basis-library/config/c/
U mlton/trunk/basis-library/general/bool.sml
U mlton/trunk/basis-library/general/general.sig
U mlton/trunk/basis-library/general/general.sml
U mlton/trunk/basis-library/general/option.sig
U mlton/trunk/basis-library/general/sml90.sml
U mlton/trunk/basis-library/integer/embed-int.sml
U mlton/trunk/basis-library/integer/embed-word.sml
A mlton/trunk/basis-library/integer/int-global.sml
U mlton/trunk/basis-library/integer/int-inf.sig
U mlton/trunk/basis-library/integer/int-inf.sml
A mlton/trunk/basis-library/integer/int-inf0.sml
A mlton/trunk/basis-library/integer/int-inf1.sml
U mlton/trunk/basis-library/integer/int.sml
A mlton/trunk/basis-library/integer/int1.sml
U mlton/trunk/basis-library/integer/integer.sig
A mlton/trunk/basis-library/integer/iwconv0.sml
A mlton/trunk/basis-library/integer/num0.sml
A mlton/trunk/basis-library/integer/num1.sml
A mlton/trunk/basis-library/integer/pack-word.sml
D mlton/trunk/basis-library/integer/pack-word32.sml
D mlton/trunk/basis-library/integer/patch.sml
A mlton/trunk/basis-library/integer/word-global.sml
U mlton/trunk/basis-library/integer/word.sig
U mlton/trunk/basis-library/integer/word.sml
A mlton/trunk/basis-library/integer/word1.sml
U mlton/trunk/basis-library/io/bin-io.sig
U mlton/trunk/basis-library/io/bin-io.sml
U mlton/trunk/basis-library/io/imperative-io.fun
U mlton/trunk/basis-library/io/io.sig
U mlton/trunk/basis-library/io/io.sml
U mlton/trunk/basis-library/io/prim-io.fun
U mlton/trunk/basis-library/io/prim-io.sig
U mlton/trunk/basis-library/io/stream-io.fun
U mlton/trunk/basis-library/io/text-io.sig
U mlton/trunk/basis-library/io/text-io.sml
U mlton/trunk/basis-library/libs/basis-1997/arrays-and-vectors/mono-array2.sig
U mlton/trunk/basis-library/libs/basis-1997/arrays-and-vectors/mono-vector-array-array2-convert.fun
U mlton/trunk/basis-library/libs/basis-1997/arrays-and-vectors/mono-vector.sig
U mlton/trunk/basis-library/libs/basis-1997/arrays-and-vectors/vector-array-convert.fun
U mlton/trunk/basis-library/libs/basis-1997/arrays-and-vectors/vector.sig
U mlton/trunk/basis-library/libs/basis-1997/io/io-convert.fun
U mlton/trunk/basis-library/libs/basis-1997/io/stream-io.sig
U mlton/trunk/basis-library/libs/basis-1997/io/text-io-convert.fun
U mlton/trunk/basis-library/libs/basis-1997/posix/file-sys.sig
U mlton/trunk/basis-library/libs/basis-1997/posix/flags-convert.fun
U mlton/trunk/basis-library/libs/basis-1997/posix/io-convert.fun
U mlton/trunk/basis-library/libs/basis-1997/posix/io.sig
U mlton/trunk/basis-library/libs/basis-1997/posix/process-convert.fun
U mlton/trunk/basis-library/libs/basis-1997/posix/tty-convert.fun
U mlton/trunk/basis-library/libs/basis-1997/posix/tty.sig
U mlton/trunk/basis-library/libs/basis-1997/real/IEEE-real-convert.fun
U mlton/trunk/basis-library/libs/basis-1997/real/real-convert.fun
U mlton/trunk/basis-library/libs/basis-1997/real/real.sig
U mlton/trunk/basis-library/libs/basis-1997/system/file-sys.sig
U mlton/trunk/basis-library/libs/basis-1997/system/os-convert.fun
U mlton/trunk/basis-library/libs/basis-1997/system/os.sig
U mlton/trunk/basis-library/libs/basis-1997/system/path-convert.fun
U mlton/trunk/basis-library/libs/basis-1997/system/process-convert.fun
U mlton/trunk/basis-library/libs/basis-1997/system/timer.sig
U mlton/trunk/basis-library/libs/basis-1997/system/unix.sig
U mlton/trunk/basis-library/libs/basis-1997/top-level/basis.sig
U mlton/trunk/basis-library/libs/basis-2002/top-level/basis-exns.sig
U mlton/trunk/basis-library/libs/basis-2002/top-level/basis-types.sig
U mlton/trunk/basis-library/libs/basis-2002/top-level/basis.sig
U mlton/trunk/basis-library/libs/basis-2002/top-level/generate-overloads.sml
U mlton/trunk/basis-library/libs/basis-2002/top-level/pervasive-exns.sml
U mlton/trunk/basis-library/libs/basis-extra/basis-extra.mlb
U mlton/trunk/basis-library/libs/basis-extra/top-level/basis.sig
U mlton/trunk/basis-library/libs/basis-extra/top-level/basis.sml
U mlton/trunk/basis-library/libs/basis-none/top-level/basis.sml
D mlton/trunk/basis-library/libs/primitive.mlb
U mlton/trunk/basis-library/list/list-pair.sml
U mlton/trunk/basis-library/list/list.sig
U mlton/trunk/basis-library/list/list.sml
A mlton/trunk/basis-library/maps/
D mlton/trunk/basis-library/misc/
U mlton/trunk/basis-library/mlton/array.sig
U mlton/trunk/basis-library/mlton/call-stack.sml
U mlton/trunk/basis-library/mlton/cont.sml
U mlton/trunk/basis-library/mlton/exit.sml
U mlton/trunk/basis-library/mlton/exn.sml
U mlton/trunk/basis-library/mlton/ffi.sig
U mlton/trunk/basis-library/mlton/ffi.sml
U mlton/trunk/basis-library/mlton/finalizable.sml
U mlton/trunk/basis-library/mlton/gc.sml
U mlton/trunk/basis-library/mlton/int-inf.sig
U mlton/trunk/basis-library/mlton/io.fun
U mlton/trunk/basis-library/mlton/io.sig
U mlton/trunk/basis-library/mlton/itimer.sml
U mlton/trunk/basis-library/mlton/mlton.sml
U mlton/trunk/basis-library/mlton/platform.sig
U mlton/trunk/basis-library/mlton/platform.sml
U mlton/trunk/basis-library/mlton/pointer.sig
U mlton/trunk/basis-library/mlton/pointer.sml
U mlton/trunk/basis-library/mlton/proc-env.sml
U mlton/trunk/basis-library/mlton/process.sig
U mlton/trunk/basis-library/mlton/process.sml
U mlton/trunk/basis-library/mlton/profile.sml
U mlton/trunk/basis-library/mlton/ptrace.sml
U mlton/trunk/basis-library/mlton/random.sig
U mlton/trunk/basis-library/mlton/rlimit.sig
U mlton/trunk/basis-library/mlton/rlimit.sml
U mlton/trunk/basis-library/mlton/rusage.sml
U mlton/trunk/basis-library/mlton/signal.sig
U mlton/trunk/basis-library/mlton/signal.sml
U mlton/trunk/basis-library/mlton/socket.sig
U mlton/trunk/basis-library/mlton/socket.sml
U mlton/trunk/basis-library/mlton/syslog.sig
U mlton/trunk/basis-library/mlton/syslog.sml
U mlton/trunk/basis-library/mlton/thread.sig
U mlton/trunk/basis-library/mlton/thread.sml
U mlton/trunk/basis-library/mlton/vector.sig
U mlton/trunk/basis-library/mlton/weak.sml
U mlton/trunk/basis-library/mlton/word.sig
U mlton/trunk/basis-library/mlton/world.sml
U mlton/trunk/basis-library/net/generic-sock.sig
U mlton/trunk/basis-library/net/generic-sock.sml
U mlton/trunk/basis-library/net/inet-sock.sml
U mlton/trunk/basis-library/net/net-host-db.sig
U mlton/trunk/basis-library/net/net-host-db.sml
U mlton/trunk/basis-library/net/net-prot-db.sig
U mlton/trunk/basis-library/net/net-prot-db.sml
U mlton/trunk/basis-library/net/net-serv-db.sig
U mlton/trunk/basis-library/net/net-serv-db.sml
U mlton/trunk/basis-library/net/net.sig
U mlton/trunk/basis-library/net/net.sml
U mlton/trunk/basis-library/net/socket.sig
U mlton/trunk/basis-library/net/socket.sml
U mlton/trunk/basis-library/net/unix-sock.sig
U mlton/trunk/basis-library/net/unix-sock.sml
U mlton/trunk/basis-library/notes.txt
U mlton/trunk/basis-library/platform/cygwin.sml
U mlton/trunk/basis-library/posix/error.sig
U mlton/trunk/basis-library/posix/error.sml
U mlton/trunk/basis-library/posix/file-sys.sig
U mlton/trunk/basis-library/posix/file-sys.sml
U mlton/trunk/basis-library/posix/flags.sig
U mlton/trunk/basis-library/posix/flags.sml
U mlton/trunk/basis-library/posix/io.sig
U mlton/trunk/basis-library/posix/io.sml
U mlton/trunk/basis-library/posix/posix.sig
U mlton/trunk/basis-library/posix/posix.sml
D mlton/trunk/basis-library/posix/primitive.sml
U mlton/trunk/basis-library/posix/proc-env.sml
U mlton/trunk/basis-library/posix/process.sml
U mlton/trunk/basis-library/posix/signal.sig
U mlton/trunk/basis-library/posix/signal.sml
U mlton/trunk/basis-library/posix/stub-mingw.sml
U mlton/trunk/basis-library/posix/sys-db.sig
U mlton/trunk/basis-library/posix/sys-db.sml
U mlton/trunk/basis-library/posix/tty.sig
U mlton/trunk/basis-library/posix/tty.sml
A mlton/trunk/basis-library/primitive/
U mlton/trunk/basis-library/real/IEEE-real.sig
U mlton/trunk/basis-library/real/IEEE-real.sml
U mlton/trunk/basis-library/real/math.sig
U mlton/trunk/basis-library/real/pack-real.sml
A mlton/trunk/basis-library/real/real-global.sml
D mlton/trunk/basis-library/real/real.fun
U mlton/trunk/basis-library/real/real.sig
A mlton/trunk/basis-library/real/real.sml
D mlton/trunk/basis-library/real/real32.sml
D mlton/trunk/basis-library/real/real64.sml
U mlton/trunk/basis-library/sml-nj/sml-nj.sml
U mlton/trunk/basis-library/sml-nj/unsafe.sml
U mlton/trunk/basis-library/system/command-line.sml
U mlton/trunk/basis-library/system/date.sig
U mlton/trunk/basis-library/system/date.sml
U mlton/trunk/basis-library/system/file-sys.sml
U mlton/trunk/basis-library/system/io.sml
U mlton/trunk/basis-library/system/path.sml
U mlton/trunk/basis-library/system/pre-os.sml
U mlton/trunk/basis-library/system/process.sig
U mlton/trunk/basis-library/system/process.sml
U mlton/trunk/basis-library/system/time.sml
U mlton/trunk/basis-library/system/timer.sml
U mlton/trunk/basis-library/system/unix.sml
U mlton/trunk/basis-library/text/byte.sml
A mlton/trunk/basis-library/text/char-global.sml
U mlton/trunk/basis-library/text/char.sml
U mlton/trunk/basis-library/text/char0.sml
A mlton/trunk/basis-library/text/nullstring.sml
U mlton/trunk/basis-library/text/string-cvt.sig
U mlton/trunk/basis-library/text/string-cvt.sml
A mlton/trunk/basis-library/text/string-global.sml
U mlton/trunk/basis-library/text/string.sig
U mlton/trunk/basis-library/text/string.sml
U mlton/trunk/basis-library/text/string0.sml
A mlton/trunk/basis-library/text/substring-global.sml
U mlton/trunk/basis-library/text/substring.sml
A mlton/trunk/basis-library/top-level/infixes-unsafe.sml
A mlton/trunk/basis-library/util/
U mlton/trunk/benchmark/Makefile
U mlton/trunk/benchmark/tests/Makefile
U mlton/trunk/bin/add-cross
U mlton/trunk/bin/build-cross-gcc
U mlton/trunk/bin/clean
U mlton/trunk/bin/grab-wiki
U mlton/trunk/bin/host-arch
U mlton/trunk/bin/host-os
U mlton/trunk/bin/make-pdf-guide
U mlton/trunk/bin/mlton-script
U mlton/trunk/bin/mmake
U mlton/trunk/bin/msed
U mlton/trunk/bin/patch-mingw
U mlton/trunk/bin/platform
U mlton/trunk/bin/regression
U mlton/trunk/bin/sync-ignore
U mlton/trunk/bin/upgrade-basis
D mlton/trunk/bytecode/
U mlton/trunk/doc/changelog
U mlton/trunk/doc/examples/ffi/export.sml
U mlton/trunk/doc/examples/ffi/ffi-export.c
U mlton/trunk/doc/examples/ffi/ffi-import.c
U mlton/trunk/doc/examples/finalizable/finalizable.sml
U mlton/trunk/doc/examples/profiling/fib-tak.sml
U mlton/trunk/doc/examples/profiling/list-rev.sml
U mlton/trunk/doc/style-guide/main.tex
A mlton/trunk/doc/x86_64-port-notes/
U mlton/trunk/include/bytecode-main.h
U mlton/trunk/include/c-chunk.h
U mlton/trunk/include/c-common.h
U mlton/trunk/include/c-main.h
U mlton/trunk/include/main.h
U mlton/trunk/include/x86-main.h
U mlton/trunk/lib/ckit-lib/Makefile
U mlton/trunk/lib/cml/cml-lib/multicast.sig
U mlton/trunk/lib/cml/cml-lib/multicast.sml
U mlton/trunk/lib/cml/cml-lib/result.sig
U mlton/trunk/lib/cml/cml-lib/simple-rpc.sig
U mlton/trunk/lib/cml/cml-lib/trace-cml.sig
U mlton/trunk/lib/cml/core-cml/channel.sig
U mlton/trunk/lib/cml/core-cml/channel.sml
U mlton/trunk/lib/cml/core-cml/cml.sig
U mlton/trunk/lib/cml/core-cml/event.sml
U mlton/trunk/lib/cml/core-cml/mailbox.sig
U mlton/trunk/lib/cml/core-cml/run-cml.sig
U mlton/trunk/lib/cml/core-cml/run-cml.sml
U mlton/trunk/lib/cml/core-cml/sync-var.sig
U mlton/trunk/lib/cml/core-cml/sync-var.sml
U mlton/trunk/lib/cml/core-cml/timeout.sml
U mlton/trunk/lib/cml/core-cml/trans-id.sml
U mlton/trunk/lib/cml/core-cml/version.sig
_U mlton/trunk/lib/cml/tests/
A mlton/trunk/lib/cml/tests/.ignore
U mlton/trunk/lib/cml/tests/primes-multicast.sml
U mlton/trunk/lib/cml/tests/primes.sml
U mlton/trunk/lib/cml/util/assert.sig
U mlton/trunk/lib/cml/util/assert.sml
U mlton/trunk/lib/cml/util/critical.sig
U mlton/trunk/lib/cml/util/imp-queue.sml
U mlton/trunk/lib/cml/util/local-assert.fun
U mlton/trunk/lib/cml/util/local-debug.fun
U mlton/trunk/lib/mlnlffi/c.sig
U mlton/trunk/lib/mlnlffi/internals/c-int.x86-linux.mlb
D mlton/trunk/lib/mlnlffi/memory/platform/memory.amd64-linux.mlb
A mlton/trunk/lib/mlnlffi/memory/platform/memory.amd64-linux.mlb
U mlton/trunk/lib/mlrisc-lib/Makefile
U mlton/trunk/lib/mlton/basic/alpha-beta.fun
U mlton/trunk/lib/mlton/basic/alpha-beta.sig
U mlton/trunk/lib/mlton/basic/append-list.sig
U mlton/trunk/lib/mlton/basic/append-list.sml
U mlton/trunk/lib/mlton/basic/array.fun
U mlton/trunk/lib/mlton/basic/array.sig
U mlton/trunk/lib/mlton/basic/array2.sig
U mlton/trunk/lib/mlton/basic/array2.sml
U mlton/trunk/lib/mlton/basic/assert.sml
U mlton/trunk/lib/mlton/basic/base64.sig
U mlton/trunk/lib/mlton/basic/base64.sml
U mlton/trunk/lib/mlton/basic/binary-search.sig
U mlton/trunk/lib/mlton/basic/bool.sml
U mlton/trunk/lib/mlton/basic/bounded-order.fun
U mlton/trunk/lib/mlton/basic/buffer.sig
U mlton/trunk/lib/mlton/basic/buffer.sml
U mlton/trunk/lib/mlton/basic/char-buffer.sig
U mlton/trunk/lib/mlton/basic/char-buffer.sml
U mlton/trunk/lib/mlton/basic/char-pred.sml
U mlton/trunk/lib/mlton/basic/char.sig
U mlton/trunk/lib/mlton/basic/char0.sml
U mlton/trunk/lib/mlton/basic/choice-pattern.sig
U mlton/trunk/lib/mlton/basic/circular-list.fun
U mlton/trunk/lib/mlton/basic/circular-list.sig
U mlton/trunk/lib/mlton/basic/clearable-promise.sml
U mlton/trunk/lib/mlton/basic/computation.sig
U mlton/trunk/lib/mlton/basic/console.sig
U mlton/trunk/lib/mlton/basic/console.sml
U mlton/trunk/lib/mlton/basic/counter.sig
U mlton/trunk/lib/mlton/basic/counter.sml
U mlton/trunk/lib/mlton/basic/date.sig
U mlton/trunk/lib/mlton/basic/date.sml
U mlton/trunk/lib/mlton/basic/dir.sig
U mlton/trunk/lib/mlton/basic/dir.sml
U mlton/trunk/lib/mlton/basic/directed-graph.sml
U mlton/trunk/lib/mlton/basic/directed-sub-graph.sml
U mlton/trunk/lib/mlton/basic/dot-color.sml
U mlton/trunk/lib/mlton/basic/dot.sig
U mlton/trunk/lib/mlton/basic/dot.sml
U mlton/trunk/lib/mlton/basic/doubly-linked.fun
U mlton/trunk/lib/mlton/basic/engine.sig
U mlton/trunk/lib/mlton/basic/engine.sml
U mlton/trunk/lib/mlton/basic/env.fun
U mlton/trunk/lib/mlton/basic/env.sig
U mlton/trunk/lib/mlton/basic/error.sml
U mlton/trunk/lib/mlton/basic/escape.sml
U mlton/trunk/lib/mlton/basic/euclidean-ring.fun
U mlton/trunk/lib/mlton/basic/euclidean-ring.sig
U mlton/trunk/lib/mlton/basic/exn.sml
U mlton/trunk/lib/mlton/basic/exn0.sml
U mlton/trunk/lib/mlton/basic/export.sml
U mlton/trunk/lib/mlton/basic/field.fun
U mlton/trunk/lib/mlton/basic/file-desc.sml
U mlton/trunk/lib/mlton/basic/file.sml
U mlton/trunk/lib/mlton/basic/fold.fun
U mlton/trunk/lib/mlton/basic/fold.sig
U mlton/trunk/lib/mlton/basic/format.sig
U mlton/trunk/lib/mlton/basic/format.sml
U mlton/trunk/lib/mlton/basic/function.sml
U mlton/trunk/lib/mlton/basic/hash-set.sml
U mlton/trunk/lib/mlton/basic/hash-table.sig
U mlton/trunk/lib/mlton/basic/hash-table.sml
U mlton/trunk/lib/mlton/basic/html.sig
U mlton/trunk/lib/mlton/basic/html.sml
U mlton/trunk/lib/mlton/basic/http.sig
U mlton/trunk/lib/mlton/basic/http.sml
U mlton/trunk/lib/mlton/basic/init-script.sml
U mlton/trunk/lib/mlton/basic/instream.sig
U mlton/trunk/lib/mlton/basic/instream.sml
U mlton/trunk/lib/mlton/basic/instream0.sml
U mlton/trunk/lib/mlton/basic/int-inf.sig
U mlton/trunk/lib/mlton/basic/int-inf.sml
U mlton/trunk/lib/mlton/basic/int.sml
U mlton/trunk/lib/mlton/basic/integer.fun
U mlton/trunk/lib/mlton/basic/intermediate-computation.sig
U mlton/trunk/lib/mlton/basic/intermediate-computation.sml
U mlton/trunk/lib/mlton/basic/iterate.sml
U mlton/trunk/lib/mlton/basic/justify.sig
U mlton/trunk/lib/mlton/basic/justify.sml
U mlton/trunk/lib/mlton/basic/layout.sig
U mlton/trunk/lib/mlton/basic/layout.sml
U mlton/trunk/lib/mlton/basic/linked-list.sig
U mlton/trunk/lib/mlton/basic/linked-list.sml
U mlton/trunk/lib/mlton/basic/list.sig
U mlton/trunk/lib/mlton/basic/list.sml
U mlton/trunk/lib/mlton/basic/mark.sig
U mlton/trunk/lib/mlton/basic/mark.sml
U mlton/trunk/lib/mlton/basic/max-pow-2-that-divides.fun
U mlton/trunk/lib/mlton/basic/merge-sort.sig
U mlton/trunk/lib/mlton/basic/mono-container.sig
U mlton/trunk/lib/mlton/basic/mono-list.fun
U mlton/trunk/lib/mlton/basic/mono-option.fun
U mlton/trunk/lib/mlton/basic/my-dirs.sml
U mlton/trunk/lib/mlton/basic/net.sml
U mlton/trunk/lib/mlton/basic/number.fun
U mlton/trunk/lib/mlton/basic/number.sig
U mlton/trunk/lib/mlton/basic/option.sml
U mlton/trunk/lib/mlton/basic/ordered-ring.fun
U mlton/trunk/lib/mlton/basic/ordered-ring.sig
U mlton/trunk/lib/mlton/basic/outstream.sig
U mlton/trunk/lib/mlton/basic/outstream0.sml
U mlton/trunk/lib/mlton/basic/parse.fun
U mlton/trunk/lib/mlton/basic/parse.sig
U mlton/trunk/lib/mlton/basic/pid.sig
U mlton/trunk/lib/mlton/basic/pointer.sig
U mlton/trunk/lib/mlton/basic/pointer.sml
U mlton/trunk/lib/mlton/basic/popt.sig
U mlton/trunk/lib/mlton/basic/popt.sml
U mlton/trunk/lib/mlton/basic/port.sig
U mlton/trunk/lib/mlton/basic/port.sml
U mlton/trunk/lib/mlton/basic/postscript.sig
U mlton/trunk/lib/mlton/basic/postscript.sml
U mlton/trunk/lib/mlton/basic/power.sml
U mlton/trunk/lib/mlton/basic/process.sig
U mlton/trunk/lib/mlton/basic/process.sml
U mlton/trunk/lib/mlton/basic/promise.sig
U mlton/trunk/lib/mlton/basic/property-list.fun
U mlton/trunk/lib/mlton/basic/property.fun
U mlton/trunk/lib/mlton/basic/property.sig
U mlton/trunk/lib/mlton/basic/ps.sml
U mlton/trunk/lib/mlton/basic/quick-sort.sig
U mlton/trunk/lib/mlton/basic/quick-sort.sml
U mlton/trunk/lib/mlton/basic/random.sig
U mlton/trunk/lib/mlton/basic/random.sml
U mlton/trunk/lib/mlton/basic/rational.fun
U mlton/trunk/lib/mlton/basic/rational.sig
U mlton/trunk/lib/mlton/basic/rdb.sig
U mlton/trunk/lib/mlton/basic/rdb.sml
U mlton/trunk/lib/mlton/basic/reader.sml
U mlton/trunk/lib/mlton/basic/real.sig
U mlton/trunk/lib/mlton/basic/real.sml
U mlton/trunk/lib/mlton/basic/ref.sml
U mlton/trunk/lib/mlton/basic/regexp.sig
U mlton/trunk/lib/mlton/basic/regexp.sml
U mlton/trunk/lib/mlton/basic/relation0.sml
U mlton/trunk/lib/mlton/basic/resizable-array.fun
U mlton/trunk/lib/mlton/basic/resizable-array.sig
U mlton/trunk/lib/mlton/basic/result.sig
U mlton/trunk/lib/mlton/basic/result.sml
U mlton/trunk/lib/mlton/basic/ring-with-identity.fun
U mlton/trunk/lib/mlton/basic/ring-with-identity.sig
U mlton/trunk/lib/mlton/basic/ring.fun
U mlton/trunk/lib/mlton/basic/ring.sig
U mlton/trunk/lib/mlton/basic/sexp.sig
U mlton/trunk/lib/mlton/basic/signal.sml
U mlton/trunk/lib/mlton/basic/stream.sig
U mlton/trunk/lib/mlton/basic/stream.sml
U mlton/trunk/lib/mlton/basic/string-map.sml
U mlton/trunk/lib/mlton/basic/string.sig
U mlton/trunk/lib/mlton/basic/string.sml
U mlton/trunk/lib/mlton/basic/string0.sml
U mlton/trunk/lib/mlton/basic/string1.sml
U mlton/trunk/lib/mlton/basic/substring.sig
U mlton/trunk/lib/mlton/basic/substring.sml
U mlton/trunk/lib/mlton/basic/sum.sig
U mlton/trunk/lib/mlton/basic/t.sig
U mlton/trunk/lib/mlton/basic/tab.sml
U mlton/trunk/lib/mlton/basic/time.sig
U mlton/trunk/lib/mlton/basic/time.sml
U mlton/trunk/lib/mlton/basic/trace.sig
U mlton/trunk/lib/mlton/basic/trace.sml
U mlton/trunk/lib/mlton/basic/tree.sig
U mlton/trunk/lib/mlton/basic/tree.sml
U mlton/trunk/lib/mlton/basic/unique-id.fun
U mlton/trunk/lib/mlton/basic/unique-set.fun
U mlton/trunk/lib/mlton/basic/unique-set.sig
U mlton/trunk/lib/mlton/basic/url.sig
U mlton/trunk/lib/mlton/basic/url.sml
U mlton/trunk/lib/mlton/basic/vector.fun
U mlton/trunk/lib/mlton/basic/vector.sig
U mlton/trunk/lib/mlton/basic/word.sig
U mlton/trunk/lib/mlton/basic/word.sml
U mlton/trunk/lib/mlton/directed-graph/shortest-path-check.fun
U mlton/trunk/lib/mlton/directed-graph/shortest-path-check.sig
U mlton/trunk/lib/mlton/directed-graph/shortest-path.sig
U mlton/trunk/lib/mlton/directed-graph/sources.cm
U mlton/trunk/lib/mlton/env/array-finite-function.fun
U mlton/trunk/lib/mlton/env/basic-env-to-env.fun
U mlton/trunk/lib/mlton/env/cache.fun
U mlton/trunk/lib/mlton/env/cache.sig
U mlton/trunk/lib/mlton/env/finite-function.fun
U mlton/trunk/lib/mlton/env/finite-function.sig
U mlton/trunk/lib/mlton/env/mono-env.fun
U mlton/trunk/lib/mlton/env/mono-env.sig
U mlton/trunk/lib/mlton/env/move-to-front.fun
U mlton/trunk/lib/mlton/env/poly-cache-ref.fun
U mlton/trunk/lib/mlton/env/poly-cache.fun
U mlton/trunk/lib/mlton/env/poly-cache.sig
U mlton/trunk/lib/mlton/env/splay-env.fun
U mlton/trunk/lib/mlton/heap/binary.fun
U mlton/trunk/lib/mlton/heap/binomial.fun
U mlton/trunk/lib/mlton/heap/fibonacci.fun
U mlton/trunk/lib/mlton/heap/forest.fun
U mlton/trunk/lib/mlton/heap/forest.sig
U mlton/trunk/lib/mlton/heap/heap.sig
U mlton/trunk/lib/mlton/heap/test.sml
U mlton/trunk/lib/mlton/pervasive/pervasive.sml
U mlton/trunk/lib/mlton/queue/append-reverse.fun
U mlton/trunk/lib/mlton/queue/append-reverse.sig
U mlton/trunk/lib/mlton/queue/circular.fun
U mlton/trunk/lib/mlton/queue/early.fun
U mlton/trunk/lib/mlton/queue/ephemeral.fun
U mlton/trunk/lib/mlton/queue/explicit-append-reverse.fun
U mlton/trunk/lib/mlton/queue/incremental-append-reverse.fun
U mlton/trunk/lib/mlton/queue/incremental.fun
U mlton/trunk/lib/mlton/queue/lazy-append-reverse.fun
U mlton/trunk/lib/mlton/queue/linked-list.fun
U mlton/trunk/lib/mlton/queue/list.fun
U mlton/trunk/lib/mlton/queue/persistent.fun
U mlton/trunk/lib/mlton/queue/persistent.sig
U mlton/trunk/lib/mlton/queue/queue.fun
U mlton/trunk/lib/mlton/queue/test.sml
U mlton/trunk/lib/mlton/queue/two-list.fun
U mlton/trunk/lib/mlton/queue/unbounded-ephemeral.sig
U mlton/trunk/lib/mlton/set/disjoint-collection.fun
U mlton/trunk/lib/mlton/set/disjoint-collection.sig
U mlton/trunk/lib/mlton/set/disjoint-max.fun
U mlton/trunk/lib/mlton/set/disjoint-max.sig
U mlton/trunk/lib/mlton/set/disjoint.fun
U mlton/trunk/lib/mlton/set/disjoint.sig
U mlton/trunk/lib/mlton/set/hashed-unique-set.fun
U mlton/trunk/lib/mlton/set/object-oriented.sml
U mlton/trunk/lib/mlton/set/ordered-unique-set.fun
U mlton/trunk/lib/mlton/set/poly-set.sig
U mlton/trunk/lib/mlton/set/poly-unordered.fun
U mlton/trunk/lib/mlton/set/poly-unordered2.fun
U mlton/trunk/lib/mlton/set/set.sig
U mlton/trunk/lib/mlton/set/test.sml
U mlton/trunk/lib/mlton/set/type.sig
U mlton/trunk/lib/mlton/set/universe-equal.fun
U mlton/trunk/lib/mlton/set/universe-type-check.fun
U mlton/trunk/lib/mlton/set/universe.sig
U mlton/trunk/lib/mlton/set/unordered-universe.fun
U mlton/trunk/lib/mlton/set/unordered.fun
U mlton/trunk/lib/mlton/sources.cm
U mlton/trunk/lib/mlton/sources.mlb
U mlton/trunk/lib/mlton-stubs/array.sig
U mlton/trunk/lib/mlton-stubs/bin-io.sml
U mlton/trunk/lib/mlton-stubs/int-inf.sig
U mlton/trunk/lib/mlton-stubs/io.sig
U mlton/trunk/lib/mlton-stubs/mlton.sml
U mlton/trunk/lib/mlton-stubs/platform.sig
U mlton/trunk/lib/mlton-stubs/process.sig
U mlton/trunk/lib/mlton-stubs/random.sig
U mlton/trunk/lib/mlton-stubs/random.sml
U mlton/trunk/lib/mlton-stubs/real.sml
U mlton/trunk/lib/mlton-stubs/rlimit.sig
U mlton/trunk/lib/mlton-stubs/rusage.sig
U mlton/trunk/lib/mlton-stubs/signal.sig
U mlton/trunk/lib/mlton-stubs/syslog.sig
U mlton/trunk/lib/mlton-stubs/thread.sig
U mlton/trunk/lib/mlton-stubs/vector.sig
U mlton/trunk/lib/mlton-stubs/word.sig
U mlton/trunk/lib/mlton-stubs-in-smlnj/array.sml
U mlton/trunk/lib/mlton-stubs-in-smlnj/char.sml
U mlton/trunk/lib/mlton-stubs-in-smlnj/import.cm
U mlton/trunk/lib/mlton-stubs-in-smlnj/int-inf.sml
U mlton/trunk/lib/mlton-stubs-in-smlnj/os.sml
U mlton/trunk/lib/mlton-stubs-in-smlnj/real.sml
U mlton/trunk/lib/mlton-stubs-in-smlnj/socket.sml
U mlton/trunk/lib/mlton-stubs-in-smlnj/sources.cm
U mlton/trunk/lib/mlton-stubs-in-smlnj/word.sml
U mlton/trunk/lib/smlnj-lib/Makefile
U mlton/trunk/man/mlton.1
_U mlton/trunk/mllex/
U mlton/trunk/mllex/.ignore
U mlton/trunk/mllex/Makefile
_U mlton/trunk/mlnlffigen/
U mlton/trunk/mlnlffigen/.ignore
U mlton/trunk/mlnlffigen/Makefile
_U mlton/trunk/mlprof/
U mlton/trunk/mlprof/.ignore
U mlton/trunk/mlprof/Makefile
U mlton/trunk/mlprof/main.sml
U mlton/trunk/mlprof/sources.cm
_U mlton/trunk/mlton/
U mlton/trunk/mlton/.ignore
U mlton/trunk/mlton/Makefile
U mlton/trunk/mlton/ast/admits-equality.fun
U mlton/trunk/mlton/ast/admits-equality.sig
U mlton/trunk/mlton/ast/ast-atoms.fun
U mlton/trunk/mlton/ast/ast-atoms.sig
U mlton/trunk/mlton/ast/ast-const.fun
U mlton/trunk/mlton/ast/ast-core.fun
U mlton/trunk/mlton/ast/ast-core.sig
U mlton/trunk/mlton/ast/ast-mlbs.fun
U mlton/trunk/mlton/ast/ast-mlbs.sig
U mlton/trunk/mlton/ast/ast-modules.fun
U mlton/trunk/mlton/ast/ast-modules.sig
U mlton/trunk/mlton/ast/ast-programs.fun
U mlton/trunk/mlton/ast/char-size.fun
U mlton/trunk/mlton/ast/char-size.sig
U mlton/trunk/mlton/ast/field.fun
U mlton/trunk/mlton/ast/field.sig
U mlton/trunk/mlton/ast/int-size.fun
U mlton/trunk/mlton/ast/int-size.sig
U mlton/trunk/mlton/ast/longid.fun
U mlton/trunk/mlton/ast/prim-cons.fun
U mlton/trunk/mlton/ast/prim-tycons.fun
U mlton/trunk/mlton/ast/prim-tycons.sig
U mlton/trunk/mlton/ast/real-size.fun
U mlton/trunk/mlton/ast/real-size.sig
U mlton/trunk/mlton/ast/record.fun
U mlton/trunk/mlton/ast/record.sig
U mlton/trunk/mlton/ast/sources.cm
U mlton/trunk/mlton/ast/symbol.fun
U mlton/trunk/mlton/ast/symbol.sig
U mlton/trunk/mlton/ast/tycon-kind.fun
U mlton/trunk/mlton/ast/tycon-kind.sig
U mlton/trunk/mlton/ast/tyvar.fun
U mlton/trunk/mlton/ast/word-size.fun
U mlton/trunk/mlton/ast/word-size.sig
U mlton/trunk/mlton/atoms/atoms.sig
U mlton/trunk/mlton/atoms/c-function.fun
U mlton/trunk/mlton/atoms/c-function.sig
U mlton/trunk/mlton/atoms/c-type.fun
U mlton/trunk/mlton/atoms/cases.sig
U mlton/trunk/mlton/atoms/con-.fun
U mlton/trunk/mlton/atoms/const-type.fun
U mlton/trunk/mlton/atoms/const-type.sig
U mlton/trunk/mlton/atoms/const.fun
U mlton/trunk/mlton/atoms/const.sig
U mlton/trunk/mlton/atoms/ffi.fun
U mlton/trunk/mlton/atoms/ffi.sig
U mlton/trunk/mlton/atoms/generic-scheme.fun
U mlton/trunk/mlton/atoms/hash-type.fun
U mlton/trunk/mlton/atoms/id.fun
U mlton/trunk/mlton/atoms/prim.fun
U mlton/trunk/mlton/atoms/prim.sig
U mlton/trunk/mlton/atoms/profile-exp.sig
U mlton/trunk/mlton/atoms/profile-label.fun
U mlton/trunk/mlton/atoms/profile-label.sig
U mlton/trunk/mlton/atoms/real-x.fun
U mlton/trunk/mlton/atoms/real-x.sig
U mlton/trunk/mlton/atoms/source-info.fun
U mlton/trunk/mlton/atoms/source-info.sig
U mlton/trunk/mlton/atoms/sources.cm
U mlton/trunk/mlton/atoms/tycon.fun
U mlton/trunk/mlton/atoms/type-ops.fun
U mlton/trunk/mlton/atoms/type-ops.sig
U mlton/trunk/mlton/atoms/unary-tycon.fun
U mlton/trunk/mlton/atoms/unary-tycon.sig
U mlton/trunk/mlton/atoms/var.fun
U mlton/trunk/mlton/atoms/word-x-vector.fun
U mlton/trunk/mlton/atoms/word-x-vector.sig
U mlton/trunk/mlton/atoms/word-x.fun
U mlton/trunk/mlton/atoms/word-x.sig
U mlton/trunk/mlton/backend/allocate-registers.fun
U mlton/trunk/mlton/backend/allocate-registers.sig
U mlton/trunk/mlton/backend/backend.fun
U mlton/trunk/mlton/backend/backend.sig
U mlton/trunk/mlton/backend/chunkify.fun
U mlton/trunk/mlton/backend/equivalence-graph.fun
U mlton/trunk/mlton/backend/equivalence-graph.sig
U mlton/trunk/mlton/backend/err.sml
U mlton/trunk/mlton/backend/implement-handlers.fun
U mlton/trunk/mlton/backend/implement-handlers.sig
U mlton/trunk/mlton/backend/limit-check.fun
U mlton/trunk/mlton/backend/limit-check.sig
U mlton/trunk/mlton/backend/live.fun
U mlton/trunk/mlton/backend/machine.fun
U mlton/trunk/mlton/backend/machine.sig
U mlton/trunk/mlton/backend/object-type.sig
U mlton/trunk/mlton/backend/packed-representation.fun
U mlton/trunk/mlton/backend/pointer-tycon.fun
U mlton/trunk/mlton/backend/pointer-tycon.sig
U mlton/trunk/mlton/backend/profile.fun
U mlton/trunk/mlton/backend/profile.sig
U mlton/trunk/mlton/backend/rep-type.fun
U mlton/trunk/mlton/backend/representation.sig
U mlton/trunk/mlton/backend/rssa.fun
U mlton/trunk/mlton/backend/rssa.sig
U mlton/trunk/mlton/backend/runtime.fun
U mlton/trunk/mlton/backend/runtime.sig
U mlton/trunk/mlton/backend/scale.sig
U mlton/trunk/mlton/backend/signal-check.sig
U mlton/trunk/mlton/backend/small-int-inf.fun
U mlton/trunk/mlton/backend/small-int-inf.sig
U mlton/trunk/mlton/backend/sources.cm
U mlton/trunk/mlton/backend/ssa-to-rssa.fun
U mlton/trunk/mlton/backend/ssa-to-rssa.sig
U mlton/trunk/mlton/backend/switch.fun
U mlton/trunk/mlton/backend/switch.sig
U mlton/trunk/mlton/closure-convert/abstract-value.fun
U mlton/trunk/mlton/closure-convert/abstract-value.sig
U mlton/trunk/mlton/closure-convert/closure-convert.sig
U mlton/trunk/mlton/closure-convert/globalize.sig
U mlton/trunk/mlton/closure-convert/sources.cm
U mlton/trunk/mlton/cm/parse.sml
U mlton/trunk/mlton/codegen/bytecode/bytecode.sig
U mlton/trunk/mlton/codegen/c-codegen/c-codegen.fun
U mlton/trunk/mlton/codegen/sources.cm
U mlton/trunk/mlton/codegen/x86-codegen/peephole.fun
U mlton/trunk/mlton/codegen/x86-codegen/peephole.sig
U mlton/trunk/mlton/codegen/x86-codegen/x86-allocate-registers.fun
U mlton/trunk/mlton/codegen/x86-codegen/x86-codegen.fun
U mlton/trunk/mlton/codegen/x86-codegen/x86-generate-transfers.fun
U mlton/trunk/mlton/codegen/x86-codegen/x86-jump-info.fun
U mlton/trunk/mlton/codegen/x86-codegen/x86-live-transfers.fun
U mlton/trunk/mlton/codegen/x86-codegen/x86-liveness.fun
U mlton/trunk/mlton/codegen/x86-codegen/x86-loop-info.fun
U mlton/trunk/mlton/codegen/x86-codegen/x86-loop-info.sig
U mlton/trunk/mlton/codegen/x86-codegen/x86-mlton-basic.fun
U mlton/trunk/mlton/codegen/x86-codegen/x86-mlton-basic.sig
U mlton/trunk/mlton/codegen/x86-codegen/x86-mlton.fun
U mlton/trunk/mlton/codegen/x86-codegen/x86-pseudo.sig
U mlton/trunk/mlton/codegen/x86-codegen/x86-simplify.fun
U mlton/trunk/mlton/codegen/x86-codegen/x86-translate.fun
U mlton/trunk/mlton/codegen/x86-codegen/x86.fun
U mlton/trunk/mlton/codegen/x86-codegen/x86.sig
U mlton/trunk/mlton/control/bits.sml
U mlton/trunk/mlton/control/control-flags.sig
U mlton/trunk/mlton/control/control-flags.sml
U mlton/trunk/mlton/control/control.sig
U mlton/trunk/mlton/control/control.sml
U mlton/trunk/mlton/control/pretty.sml
U mlton/trunk/mlton/control/region.sig
U mlton/trunk/mlton/control/region.sml
U mlton/trunk/mlton/control/source-pos.sig
U mlton/trunk/mlton/control/source.sig
U mlton/trunk/mlton/control/source.sml
U mlton/trunk/mlton/control/sources.cm
U mlton/trunk/mlton/control/system.sig
U mlton/trunk/mlton/core-ml/core-ml.fun
U mlton/trunk/mlton/defunctorize/defunctorize.fun
U mlton/trunk/mlton/elaborate/decs.sig
U mlton/trunk/mlton/elaborate/elaborate-core.fun
U mlton/trunk/mlton/elaborate/elaborate-env.fun
U mlton/trunk/mlton/elaborate/elaborate-env.sig
U mlton/trunk/mlton/elaborate/elaborate-mlbs.fun
U mlton/trunk/mlton/elaborate/elaborate-sigexp.fun
U mlton/trunk/mlton/elaborate/interface.fun
U mlton/trunk/mlton/elaborate/interface.sig
U mlton/trunk/mlton/elaborate/precedence-parse.fun
U mlton/trunk/mlton/elaborate/precedence-parse.sig
U mlton/trunk/mlton/elaborate/type-env.fun
U mlton/trunk/mlton/elaborate/type-env.sig
U mlton/trunk/mlton/front-end/front-end.fun
U mlton/trunk/mlton/front-end/front-end.sig
U mlton/trunk/mlton/front-end/ml.grm
U mlton/trunk/mlton/front-end/ml.lex
U mlton/trunk/mlton/front-end/mlb-front-end.fun
U mlton/trunk/mlton/front-end/mlb-front-end.sig
U mlton/trunk/mlton/front-end/mlb.grm
U mlton/trunk/mlton/front-end/mlb.lex
U mlton/trunk/mlton/front-end/sources.cm
U mlton/trunk/mlton/front-end/sources.mlb
U mlton/trunk/mlton/main/compile.fun
U mlton/trunk/mlton/main/lookup-constant.fun
U mlton/trunk/mlton/main/lookup-constant.sig
U mlton/trunk/mlton/main/main.fun
U mlton/trunk/mlton/main/main.sig
U mlton/trunk/mlton/match-compile/match-compile.fun
U mlton/trunk/mlton/match-compile/match-compile.sig
U mlton/trunk/mlton/match-compile/nested-pat.fun
U mlton/trunk/mlton/match-compile/nested-pat.sig
U mlton/trunk/mlton/match-compile/sources.cm
U mlton/trunk/mlton/ssa/analyze.fun
U mlton/trunk/mlton/ssa/analyze.sig
U mlton/trunk/mlton/ssa/analyze2.fun
U mlton/trunk/mlton/ssa/analyze2.sig
U mlton/trunk/mlton/ssa/common-arg.fun
U mlton/trunk/mlton/ssa/common-arg.sig
U mlton/trunk/mlton/ssa/common-block.fun
U mlton/trunk/mlton/ssa/common-block.sig
U mlton/trunk/mlton/ssa/common-subexp.fun
U mlton/trunk/mlton/ssa/common-subexp.sig
U mlton/trunk/mlton/ssa/constant-propagation.fun
U mlton/trunk/mlton/ssa/constant-propagation.sig
U mlton/trunk/mlton/ssa/contify.fun
U mlton/trunk/mlton/ssa/contify.sig
U mlton/trunk/mlton/ssa/deep-flatten.fun
U mlton/trunk/mlton/ssa/deep-flatten.sig
U mlton/trunk/mlton/ssa/direct-exp.fun
U mlton/trunk/mlton/ssa/direct-exp2.fun
U mlton/trunk/mlton/ssa/equatable.sml
U mlton/trunk/mlton/ssa/flat-lattice.fun
U mlton/trunk/mlton/ssa/flat-lattice.sig
U mlton/trunk/mlton/ssa/flatten.fun
U mlton/trunk/mlton/ssa/flatten.sig
U mlton/trunk/mlton/ssa/global.sig
U mlton/trunk/mlton/ssa/inline.sig
U mlton/trunk/mlton/ssa/introduce-loops.sig
U mlton/trunk/mlton/ssa/known-case.fun
U mlton/trunk/mlton/ssa/known-case.sig
U mlton/trunk/mlton/ssa/local-flatten.fun
U mlton/trunk/mlton/ssa/loop-invariant.sig
U mlton/trunk/mlton/ssa/multi.fun
U mlton/trunk/mlton/ssa/n-point-lattice.fun
U mlton/trunk/mlton/ssa/poly-equal.sig
U mlton/trunk/mlton/ssa/prepasses.fun
U mlton/trunk/mlton/ssa/redundant-tests.fun
U mlton/trunk/mlton/ssa/redundant-tests.sig
U mlton/trunk/mlton/ssa/redundant.fun
U mlton/trunk/mlton/ssa/redundant.sig
U mlton/trunk/mlton/ssa/ref-flatten.fun
U mlton/trunk/mlton/ssa/ref-flatten.sig
U mlton/trunk/mlton/ssa/remove-unused.fun
U mlton/trunk/mlton/ssa/remove-unused.sig
U mlton/trunk/mlton/ssa/remove-unused2.fun
U mlton/trunk/mlton/ssa/remove-unused2.sig
U mlton/trunk/mlton/ssa/restore.fun
U mlton/trunk/mlton/ssa/restore2.fun
U mlton/trunk/mlton/ssa/shrink.fun
U mlton/trunk/mlton/ssa/shrink2.fun
U mlton/trunk/mlton/ssa/simplify-types.sig
U mlton/trunk/mlton/ssa/simplify.fun
U mlton/trunk/mlton/ssa/simplify.sig
U mlton/trunk/mlton/ssa/simplify2.sig
U mlton/trunk/mlton/ssa/ssa-to-ssa2.sig
U mlton/trunk/mlton/ssa/ssa-tree.fun
U mlton/trunk/mlton/ssa/ssa-tree.sig
U mlton/trunk/mlton/ssa/ssa-tree2.fun
U mlton/trunk/mlton/ssa/ssa-tree2.sig
U mlton/trunk/mlton/ssa/three-point-lattice.fun
U mlton/trunk/mlton/ssa/three-point-lattice.sig
U mlton/trunk/mlton/ssa/two-point-lattice.fun
U mlton/trunk/mlton/ssa/two-point-lattice.sig
U mlton/trunk/mlton/ssa/type-check.fun
U mlton/trunk/mlton/ssa/type-check.sig
U mlton/trunk/mlton/ssa/type-check2.fun
U mlton/trunk/mlton/ssa/type-check2.sig
U mlton/trunk/mlton/ssa/useless.fun
U mlton/trunk/mlton/ssa/useless.sig
U mlton/trunk/mlton/ssa/zone.fun
U mlton/trunk/mlton/ssa/zone.sig
U mlton/trunk/mlton/xml/call-count.fun
U mlton/trunk/mlton/xml/implement-exceptions.sig
U mlton/trunk/mlton/xml/implement-suffix.sig
U mlton/trunk/mlton/xml/monomorphise.sig
U mlton/trunk/mlton/xml/polyvariance.fun
U mlton/trunk/mlton/xml/polyvariance.sig
U mlton/trunk/mlton/xml/scc-funs.sig
U mlton/trunk/mlton/xml/shrink.fun
U mlton/trunk/mlton/xml/shrink.sig
U mlton/trunk/mlton/xml/simplify-types.sig
U mlton/trunk/mlton/xml/sxml-simplify.fun
U mlton/trunk/mlton/xml/sxml-simplify.sig
U mlton/trunk/mlton/xml/type-check.sig
U mlton/trunk/mlton/xml/uncurry.fun
U mlton/trunk/mlton/xml/uncurry.sig
U mlton/trunk/mlton/xml/xml-simplify.fun
U mlton/trunk/mlton/xml/xml-simplify.sig
U mlton/trunk/mlton/xml/xml-tree.fun
U mlton/trunk/mlton/xml/xml-tree.sig
U mlton/trunk/mlton/xml/xml-type.sig
_U mlton/trunk/mlyacc/
U mlton/trunk/mlyacc/.ignore
U mlton/trunk/mlyacc/Makefile
U mlton/trunk/package/debian/control
U mlton/trunk/package/mingw/mlton.bat
U mlton/trunk/regression/Makefile
A mlton/trunk/regression/exnHistory.x86-mingw.ok
A mlton/trunk/regression/exnHistory3.x86-mingw.ok
A mlton/trunk/regression/nextAfter.ok
A mlton/trunk/regression/nextAfter.sml
U mlton/trunk/regression/real.ok
U mlton/trunk/regression/rlimit.sml
_U mlton/trunk/runtime/
U mlton/trunk/runtime/.ignore
U mlton/trunk/runtime/Makefile
D mlton/trunk/runtime/Posix/
D mlton/trunk/runtime/assert.h
D mlton/trunk/runtime/basis/Array/
D mlton/trunk/runtime/basis/CommandLine.c
D mlton/trunk/runtime/basis/Date.c
D mlton/trunk/runtime/basis/Debug.c
D mlton/trunk/runtime/basis/GC.c
D mlton/trunk/runtime/basis/IEEEReal.c
D mlton/trunk/runtime/basis/Int/
D mlton/trunk/runtime/basis/IntInf.c
D mlton/trunk/runtime/basis/Itimer/
A mlton/trunk/runtime/basis/MLton/Itimer/
A mlton/trunk/runtime/basis/MLton/Process/
A mlton/trunk/runtime/basis/MLton/Rlimit/
A mlton/trunk/runtime/basis/MLton/Rusage/
A mlton/trunk/runtime/basis/MLton/Syslog/
D mlton/trunk/runtime/basis/MLton/allocTooLarge.c
U mlton/trunk/runtime/basis/MLton/bug.c
D mlton/trunk/runtime/basis/MLton/errno.c
D mlton/trunk/runtime/basis/MLton/exit.c
D mlton/trunk/runtime/basis/MLton/profile.c
D mlton/trunk/runtime/basis/MLton/rlimit.c
D mlton/trunk/runtime/basis/MLton/rusage.c
D mlton/trunk/runtime/basis/MLton/share.c
D mlton/trunk/runtime/basis/MLton/size.c
D mlton/trunk/runtime/basis/MLton/spawne.c
D mlton/trunk/runtime/basis/MLton/spawnp.c
D mlton/trunk/runtime/basis/MLton/world.c
U mlton/trunk/runtime/basis/Net/Net.c
A mlton/trunk/runtime/basis/Net/NetHostDB-consts.c
U mlton/trunk/runtime/basis/Net/NetHostDB.c
U mlton/trunk/runtime/basis/Net/NetProtDB.c
U mlton/trunk/runtime/basis/Net/NetServDB.c
A mlton/trunk/runtime/basis/Net/Socket/GenericSock.c
A mlton/trunk/runtime/basis/Net/Socket/INetSock-consts.c
U mlton/trunk/runtime/basis/Net/Socket/INetSock.c
A mlton/trunk/runtime/basis/Net/Socket/Socket-consts.c
U mlton/trunk/runtime/basis/Net/Socket/Socket.c
U mlton/trunk/runtime/basis/Net/Socket/UnixSock.c
D mlton/trunk/runtime/basis/OS/
D mlton/trunk/runtime/basis/PackReal.c
A mlton/trunk/runtime/basis/Posix/
D mlton/trunk/runtime/basis/Ptrace.c
_U mlton/trunk/runtime/basis/Real/
A mlton/trunk/runtime/basis/Real/.ignore
A mlton/trunk/runtime/basis/Real/IEEEReal-consts.c
A mlton/trunk/runtime/basis/Real/IEEEReal.c
A mlton/trunk/runtime/basis/Real/Math-fns.h
U mlton/trunk/runtime/basis/Real/Math.c
A mlton/trunk/runtime/basis/Real/PackReal.c
A mlton/trunk/runtime/basis/Real/Real-consts.c
A mlton/trunk/runtime/basis/Real/Real-ops.h
A mlton/trunk/runtime/basis/Real/Real.c
U mlton/trunk/runtime/basis/Real/class.c
D mlton/trunk/runtime/basis/Real/frexp.c
U mlton/trunk/runtime/basis/Real/gdtoa.c
D mlton/trunk/runtime/basis/Real/modf.c
U mlton/trunk/runtime/basis/Real/nextAfter.c
D mlton/trunk/runtime/basis/Real/real.c
U mlton/trunk/runtime/basis/Real/signBit.c
U mlton/trunk/runtime/basis/Real/strto.c
U mlton/trunk/runtime/basis/Stdio.c
A mlton/trunk/runtime/basis/System/
D mlton/trunk/runtime/basis/Thread.c
D mlton/trunk/runtime/basis/Time.c
A mlton/trunk/runtime/basis/Word/
A mlton/trunk/runtime/basis/coerce.c
A mlton/trunk/runtime/basis/coerce.h
A mlton/trunk/runtime/basis-ffi.h
A mlton/trunk/runtime/bytecode/
A mlton/trunk/runtime/cenv.h
A mlton/trunk/runtime/gc/
U mlton/trunk/runtime/gc.c
U mlton/trunk/runtime/gc.h
U mlton/trunk/runtime/gdtoa-patch
A mlton/trunk/runtime/gen/
U mlton/trunk/runtime/platform/aix.c
U mlton/trunk/runtime/platform/aix.h
A mlton/trunk/runtime/platform/alpha.h
A mlton/trunk/runtime/platform/amd64.h
A mlton/trunk/runtime/platform/arm.h
U mlton/trunk/runtime/platform/cygwin.c
U mlton/trunk/runtime/platform/cygwin.h
U mlton/trunk/runtime/platform/darwin.c
U mlton/trunk/runtime/platform/darwin.h
A mlton/trunk/runtime/platform/diskBack.unix.c
A mlton/trunk/runtime/platform/displayMem.linux.c
U mlton/trunk/runtime/platform/feround.h
A mlton/trunk/runtime/platform/float-math.c
A mlton/trunk/runtime/platform/float-math.h
U mlton/trunk/runtime/platform/freebsd.c
U mlton/trunk/runtime/platform/freebsd.h
U mlton/trunk/runtime/platform/getText.c
D mlton/trunk/runtime/platform/getrusage.c
A mlton/trunk/runtime/platform/hppa.h
U mlton/trunk/runtime/platform/hpux.c
U mlton/trunk/runtime/platform/hpux.h
A mlton/trunk/runtime/platform/ia64.h
U mlton/trunk/runtime/platform/linux.c
U mlton/trunk/runtime/platform/linux.h
A mlton/trunk/runtime/platform/m68k.h
U mlton/trunk/runtime/platform/mingw.c
U mlton/trunk/runtime/platform/mingw.h
A mlton/trunk/runtime/platform/mips.h
A mlton/trunk/runtime/platform/mmap-protect.c
U mlton/trunk/runtime/platform/mmap.c
U mlton/trunk/runtime/platform/netbsd.c
U mlton/trunk/runtime/platform/netbsd.h
A mlton/trunk/runtime/platform/nonwin.c
U mlton/trunk/runtime/platform/openbsd.c
U mlton/trunk/runtime/platform/openbsd.h
A mlton/trunk/runtime/platform/powerpc.h
U mlton/trunk/runtime/platform/recv.nonblock.c
A mlton/trunk/runtime/platform/s390.h
U mlton/trunk/runtime/platform/setenv.putenv.c
D mlton/trunk/runtime/platform/showMem.linux.c
D mlton/trunk/runtime/platform/signbit.c
U mlton/trunk/runtime/platform/solaris.c
U mlton/trunk/runtime/platform/solaris.h
A mlton/trunk/runtime/platform/sparc.h
D mlton/trunk/runtime/platform/ssmmap.c
A mlton/trunk/runtime/platform/sysconf.c
A mlton/trunk/runtime/platform/sysctl.c
D mlton/trunk/runtime/platform/totalRam.sysconf.c
D mlton/trunk/runtime/platform/totalRam.sysctl.c
U mlton/trunk/runtime/platform/use-mmap.c
U mlton/trunk/runtime/platform/windows.c
A mlton/trunk/runtime/platform/x86.h
U mlton/trunk/runtime/platform.c
U mlton/trunk/runtime/platform.h
D mlton/trunk/runtime/types.h
A mlton/trunk/runtime/util/
A mlton/trunk/runtime/util.c
A mlton/trunk/runtime/util.h
U mlton/trunk/util/cm2mlb/cm2mlb.sml
U mlton/trunk/util/cm2mlb/sources.cm
U mlton/trunk/util/cmcat/cmcat.sml
U mlton/trunk/util/cmcat/sources.cm
----------------------------------------------------------------------
Modified: mlton/trunk/Makefile
===================================================================
--- mlton/trunk/Makefile 2006-12-02 17:15:22 UTC (rev 4897)
+++ mlton/trunk/Makefile 2006-12-02 19:06:13 UTC (rev 4898)
@@ -39,7 +39,7 @@
# If we're compiling with another version of MLton, then we want to do
# another round of compilation so that we get a MLton built without
# stubs.
-ifeq (other, $(shell if [ ! -x $(BIN)/mlton ]; then echo other; fi))
+ifeq (other, $(shell if [ ! -x "$(BIN)/mlton" ]; then echo other; fi))
BOOTSTRAP_OTHER:=true
else
BOOTSTRAP_OTHER:=false
@@ -64,19 +64,19 @@
# because they may be better than those that were used for the first
# round of compilation. So, we clean out the front end.
ifeq (true, $(BOOTSTRAP_OTHER))
- rm -f $(COMP)/$(AOUT)$(EXE)
- $(MAKE) -C $(COMP)/front-end clean
+ rm -f "$(COMP)/$(AOUT)$(EXE)"
+ $(MAKE) -C "$(COMP)/front-end" clean
endif
$(MAKE) compiler world
@echo 'Build of MLton succeeded.'
.PHONY: basis-no-check
basis-no-check:
- mkdir -p $(LIB)/sml
- rm -rf $(LIB)/sml/basis
- $(CP) $(SRC)/basis-library/. $(LIB)/sml/basis
- find $(LIB)/sml/basis -type d -name .svn | xargs rm -rf
- find $(LIB)/sml/basis -type f -name .ignore | xargs rm -rf
+ mkdir -p "$(LIB)/sml"
+ rm -rf "$(LIB)/sml/basis"
+ $(CP) "$(SRC)/basis-library/." "$(LIB)/sml/basis"
+ find "$(LIB)/sml/basis" -type d -name .svn | xargs rm -rf
+ find "$(LIB)/sml/basis" -type f -name .ignore | xargs rm -rf
.PHONY: basis
basis:
@@ -102,15 +102,15 @@
.PHONY: compiler
compiler:
- $(MAKE) -C $(COMP)
- $(CP) $(COMP)/$(AOUT)$(EXE) $(LIB)/
+ $(MAKE) -C "$(COMP)"
+ $(CP) "$(COMP)/$(AOUT)$(EXE)" "$(LIB)/"
.PHONY: constants
constants:
@echo 'Creating constants file.'
- $(BIN)/mlton -build-constants true >tmp.c
- $(BIN)/mlton -output tmp tmp.c
- ./tmp >$(LIB)/$(TARGET)/constants
+ "$(BIN)/mlton" -build-constants true >tmp.c
+ "$(BIN)/mlton" -output tmp tmp.c
+ ./tmp >"$(LIB)/$(TARGET)/constants"
rm -f tmp tmp.c
DEBSRC := mlton-$(VERSION).orig
@@ -151,12 +151,12 @@
.PHONY: dirs
dirs:
- mkdir -p $(BIN) $(LIB)/$(TARGET) $(INC)
+ mkdir -p "$(BIN)" "$(LIB)/$(TARGET)/include" "$(INC)"
.PHONY: docs
docs: dirs
- $(MAKE) -C $(LEX) docs
- $(MAKE) -C $(YACC) docs
+ $(MAKE) -C "$(LEX)" docs
+ $(MAKE) -C "$(YACC)" docs
if htmldoc --version >/dev/null 2>&1; then \
bin/make-pdf-guide; \
fi
@@ -165,32 +165,32 @@
.PHONY: freebsd
freebsd:
$(MAKE) clean clean-svn version
- rm -rf $(BSDSRC)
- mkdir -p $(BSDSRC)
- ( cd $(SRC) && tar -cpf - . ) | ( cd $(BSDSRC) && tar -xpf - )
+ rm -rf "$(BSDSRC)"
+ mkdir -p "$(BSDSRC)"
+ ( cd $(SRC) && tar -cpf - . ) | ( cd "$(BSDSRC)" && tar -xpf - )
cd /tmp && tar -cpf - mlton-$(VERSION) | \
$(GZIP) >/usr/ports/distfiles/mlton-$(VERSION)-$(RELEASE).freebsd.src.tgz
# do not change "make" to "$(MAKE)" in the following line
- cd $(BSDSRC)/package/freebsd && MAINTAINER_MODE=yes make build-package
+ cd "$(BSDSRC)/package/freebsd" && MAINTAINER_MODE=yes make build-package
LIBRARIES := ckit-lib cml mlnlffi-lib mlyacc-lib smlnj-lib
.PHONY: libraries-no-check
libraries-no-check:
- mkdir -p $(LIB)/sml
- cd $(LIB)/sml && rm -rf $(LIBRARIES)
- $(MAKE) -C $(SRC)/lib/ckit-lib
- $(MAKE) -C $(SRC)/lib/mlrisc-lib
- $(MAKE) -C $(SRC)/lib/smlnj-lib
- $(CP) $(SRC)/lib/cml/. $(LIB)/sml/cml
- $(CP) $(SRC)/lib/ckit-lib/ckit/. $(LIB)/sml/ckit-lib
- $(CP) $(SRC)/lib/mlnlffi/. $(LIB)/sml/mlnlffi-lib
- true || $(CP) $(SRC)/lib/mlrisc-lib/MLRISC/. $(LIB)/sml/mlrisc-lib
- $(CP) $(SRC)/lib/mlyacc/. $(LIB)/sml/mlyacc-lib
- $(CP) $(SRC)/lib/smlnj-lib/smlnj-lib/. $(LIB)/sml/smlnj-lib
- find $(LIB)/sml -type d -name .cm | xargs rm -rf
- find $(LIB)/sml -type d -name .svn | xargs rm -rf
- find $(LIB)/sml -type f -name .ignore | xargs rm -rf
+ mkdir -p "$(LIB)/sml"
+ cd "$(LIB)/sml" && rm -rf $(LIBRARIES)
+ $(MAKE) -C "$(SRC)/lib/ckit-lib"
+ $(MAKE) -C "$(SRC)/lib/mlrisc-lib"
+ $(MAKE) -C "$(SRC)/lib/smlnj-lib"
+ $(CP) "$(SRC)/lib/cml/." "$(LIB)/sml/cml"
+ $(CP) "$(SRC)/lib/ckit-lib/ckit/." "$(LIB)/sml/ckit-lib"
+ $(CP) "$(SRC)/lib/mlnlffi/." "$(LIB)/sml/mlnlffi-lib"
+ true || $(CP) "$(SRC)/lib/mlrisc-lib/MLRISC/." "$(LIB)/sml/mlrisc-lib"
+ $(CP) "$(SRC)/lib/mlyacc/." "$(LIB)/sml/mlyacc-lib"
+ $(CP) "$(SRC)/lib/smlnj-lib/smlnj-lib/." "$(LIB)/sml/smlnj-lib"
+ find "$(LIB)/sml" -type d -name .cm | xargs rm -rf
+ find "$(LIB)/sml" -type d -name .svn | xargs rm -rf
+ find "$(LIB)/sml" -type f -name .ignore | xargs rm -rf
.PHONY: libraries
libraries:
@@ -206,149 +206,151 @@
.PHONY: nj-mlton
nj-mlton:
$(MAKE) dirs runtime
- $(MAKE) -C $(COMP) nj-mlton
+ $(MAKE) -C "$(COMP)" nj-mlton
$(MAKE) script basis-no-check mlbpathmap targetmap constants libraries-no-check
@echo 'Build of MLton succeeded.'
.PHONY: nj-mlton-dual
nj-mlton-dual:
$(MAKE) dirs runtime
- $(MAKE) -C $(COMP) nj-mlton-dual
+ $(MAKE) -C "$(COMP)" nj-mlton-dual
$(MAKE) script basis-no-check mlbpathmap targetmap constants libraries-no-check
@echo 'Build of MLton succeeded.'
.PHONY: nj-mlton-quad
nj-mlton-quad:
$(MAKE) dirs runtime
- $(MAKE) -C $(COMP) nj-mlton-quad
+ $(MAKE) -C "$(COMP)" nj-mlton-quad
$(MAKE) script basis-no-check mlbpathmap targetmap constants libraries-no-check
@echo 'Build of MLton succeeded.'
.PHONY: mlbpathmap
mlbpathmap:
- touch $(MLBPATHMAP)
+ touch "$(MLBPATHMAP)"
( echo 'MLTON_ROOT $$(LIB_MLTON_DIR)/sml'; \
- echo 'SML_LIB $$(LIB_MLTON_DIR)/sml' ) \
- >>$(MLBPATHMAP).tmp
- mv $(MLBPATHMAP).tmp $(MLBPATHMAP)
+ echo 'SML_LIB $$(LIB_MLTON_DIR)/sml'; ) \
+ >>"$(MLBPATHMAP).tmp"
+ mv "$(MLBPATHMAP).tmp" "$(MLBPATHMAP)"
.PHONY: traced
traced:
- $(MAKE) -C $(COMP) AOUT=$(AOUT).trace COMPILE_ARGS="-const 'Exn.keepHistory true' -const 'MLton.debug true' -drop-pass 'deepFlatten'"
- $(CP) $(COMP)/$(AOUT).trace $(LIB)/
- $(LIB)/$(AOUT).trace @MLton -- $(LIB)/world.trace
- sed 's/mlton-compile/mlton-compile.trace/' < $(MLTON) | sed 's/world.mlton/world.trace.mlton/' > $(MLTON).trace
- chmod a+x $(MLTON).trace
+ $(MAKE) -C "$(COMP)" "AOUT=$(AOUT).trace" COMPILE_ARGS="-const 'Exn.keepHistory true' -const 'MLton.debug true' -drop-pass 'deepFlatten'"
+ $(CP) "$(COMP)/$(AOUT).trace" "$(LIB)/"
+ "$(LIB)/$(AOUT).trace" @MLton -- "$(LIB)/world.trace"
+ sed 's/mlton-compile/mlton-compile.trace/' < "$(MLTON)" | sed 's/world.mlton/world.trace.mlton/' > "$(MLTON).trace"
+ chmod a+x "$(MLTON).trace"
.PHONY: debugged
debugged:
- $(MAKE) -C $(COMP) AOUT=$(AOUT).debug COMPILE_ARGS="-debug true -const 'Exn.keepHistory true' -const 'MLton.debug true' -drop-pass 'deepFlatten'"
- $(CP) $(COMP)/$(AOUT).debug $(LIB)/
- $(LIB)/$(AOUT).debug @MLton -- $(LIB)/world.debug
- sed 's/mlton-compile/mlton-compile.debug/' < $(MLTON) | sed 's/world.mlton/world.debug.mlton/' > $(MLTON).debug
- chmod a+x $(MLTON).debug
+ $(MAKE) -C "$(COMP)" "AOUT=$(AOUT).debug" COMPILE_ARGS="-debug true -const 'Exn.keepHistory true' -const 'MLton.debug true' -drop-pass 'deepFlatten'"
+ $(CP) "$(COMP)/$(AOUT).debug" "$(LIB)/"
+ "$(LIB)/$(AOUT).debug" @MLton -- "$(LIB)/world.debug"
+ sed 's/mlton-compile/mlton-compile.debug/' < "$(MLTON)" | sed 's/world.mlton/world.debug.mlton/' > "$(MLTON).debug"
+ chmod a+x "$(MLTON).debug"
.PHONY: profiled
profiled:
- $(MAKE) -C $(COMP) AOUT=$(AOUT).alloc COMPILE_ARGS="-profile alloc"
- $(CP) $(COMP)/$(AOUT).alloc $(LIB)/
- $(MAKE) -C $(COMP) AOUT=$(AOUT).count COMPILE_ARGS="-profile count"
- $(CP) $(COMP)/$(AOUT).count $(LIB)/
- $(MAKE) -C $(COMP) AOUT=$(AOUT).time COMPILE_ARGS="-profile time"
- $(CP) $(COMP)/$(AOUT).time $(LIB)/
- $(LIB)/$(AOUT).alloc @MLton -- $(LIB)/world.alloc
- $(LIB)/$(AOUT).count @MLton -- $(LIB)/world.count
- $(LIB)/$(AOUT).time @MLton -- $(LIB)/world.time
- sed 's/mlton-compile/mlton-compile.alloc/' < $(MLTON) | sed 's/world.mlton/world.alloc.mlton/' > $(MLTON).alloc
- sed 's/mlton-compile/mlton-compile.count/' < $(MLTON) | sed 's/world.mlton/world.count.mlton/' > $(MLTON).count
- sed 's/mlton-compile/mlton-compile.time/' < $(MLTON) | sed 's/world.mlton/world.time.mlton/' > $(MLTON).time
- chmod a+x $(MLTON).alloc
- chmod a+x $(MLTON).count
- chmod a+x $(MLTON).time
+ for t in alloc count time; do \
+ $(MAKE) -C "$(COMP)" "AOUT=$(AOUT).$$t" \
+ COMPILE_ARGS="-profile $$t"; \
+ $(CP) "$(COMP)/$(AOUT).$$t" "$(LIB)/"; \
+ "$(LIB)/$(AOUT).$$t" @MLton -- "$(LIB)/world.$$t"; \
+ sed "s/mlton-compile/mlton-compile.$$t/" \
+ <"$(MLTON)" | \
+ sed "s/world.mlton/world.$$t.mlton/" \
+ >"$(MLTON).$$t"; \
+ chmod a+x "$(MLTON).$$t"; \
+ done
TOPDIR := 'TOPDIR-unset'
SOURCEDIR := $(TOPDIR)/SOURCES/mlton-$(VERSION)
.PHONY: rpms
rpms:
$(MAKE) clean clean-svn version
- mkdir -p $(TOPDIR)
- cd $(TOPDIR) && mkdir -p BUILD RPMS/i386 SOURCES SPECS SRPMS
- rm -rf $(SOURCEDIR)
- mkdir -p $(SOURCEDIR)
- ( cd $(SRC) && tar -cpf - . ) | ( cd $(SOURCEDIR) && tar -xpf - )
- $(CP) $(SOURCEDIR)/$(SPEC) $(TOPDIR)/SPECS/mlton.spec
- ( cd $(TOPDIR)/SOURCES && tar -cpf - mlton-$(VERSION) ) \
- | $(GZIP) >$(SOURCEDIR).tgz
- rm -rf $(SOURCEDIR)
- rpm -ba --quiet --clean $(TOPDIR)/SPECS/mlton.spec
+ mkdir -p "$(TOPDIR)"
+ cd "$(TOPDIR)" && mkdir -p BUILD RPMS/i386 SOURCES SPECS SRPMS
+ rm -rf "$(SOURCEDIR)"
+ mkdir -p "$(SOURCEDIR)"
+ ( cd "$(SRC)" && tar -cpf - . ) | ( cd "$(SOURCEDIR)" && tar -xpf - )
+ $(CP) "$(SOURCEDIR)/$(SPEC)" "$(TOPDIR)/SPECS/mlton.spec"
+ ( cd "$(TOPDIR)/SOURCES" && tar -cpf - mlton-$(VERSION) ) \
+ | $(GZIP) >"$(SOURCEDIR).tgz"
+ rm -rf "$(SOURCEDIR)"
+ rpm -ba --quiet --clean "$(TOPDIR)/SPECS/mlton.spec"
.PHONY: runtime
runtime:
@echo 'Compiling MLton runtime system for $(TARGET).'
$(MAKE) -C runtime
- $(CP) $(RUN)/*.a $(LIB)/$(TARGET)/
- $(CP) runtime/*.h include/*.h $(INC)/
- mkdir -p $(INC)/platform
- $(CP) bytecode/interpret.h $(INC)
- $(CP) runtime/platform/*.h $(INC)/platform
- $(MAKE) -C bytecode
- bytecode/print-opcodes >$(LIB)/opcodes
- ar r $(LIB)/$(TARGET)/libmlton.a bytecode/interpret.o
- ar r $(LIB)/$(TARGET)/libmlton-gdb.a bytecode/interpret-gdb.o
- for x in $(LIB)/$(TARGET)/*.a; do $(RANLIB) $$x; done
+ $(CP) include/*.h "$(INC)/"
+ $(CP) runtime/*.a "$(LIB)/$(TARGET)/"
+ mkdir -p "$(SRC)/basis-library/config/c/$(TARGET_ARCH)-$(TARGET_OS)"
+ $(CP) runtime/gen/c-types.sml \
+ basis-library/config/c/$(TARGET_ARCH)-$(TARGET_OS)/c-types.sml
+ $(CP) runtime/gen/basis-ffi.sml \
+ basis-library/primitive/basis-ffi.sml
+ $(CP) runtime/bytecode/opcodes "$(LIB)/"
+ $(CP) runtime/*.h "$(INC)/"
+ mv "$(INC)/c-types.h" "$(LIB)/$(TARGET)/include"
+ for d in basis basis/Real basis/Word gc platform util; do \
+ mkdir -p "$(INC)/$$d"; \
+ $(CP) runtime/$$d/*.h "$(INC)/$$d"; \
+ done
+ $(CP) runtime/bytecode/interpret.h "$(INC)"
+ for x in "$(LIB)"/"$(TARGET)"/*.a; do $(RANLIB) "$$x"; done
.PHONY: script
script:
- $(CP) bin/mlton-script $(MLTON)
- chmod a+x $(MLTON)
- $(CP) $(SRC)/bin/platform $(LIB)
+ $(CP) bin/mlton-script "$(MLTON)"
+ chmod a+x "$(MLTON)"
+ $(CP) "$(SRC)/bin/platform" "$(LIB)"
.PHONY: targetmap
targetmap:
- touch $(TARGETMAP)
- ( sed '/$(TARGET)/d' <$(TARGETMAP); \
+ touch "$(TARGETMAP)"
+ ( sed '/$(TARGET)/d' <"$(TARGETMAP)"; \
echo '$(TARGET) $(TARGET_ARCH) $(TARGET_OS)' ) \
- >>$(TARGETMAP).tmp
- mv $(TARGETMAP).tmp $(TARGETMAP)
+ >>"$(TARGETMAP).tmp"
+ mv "$(TARGETMAP).tmp" "$(TARGETMAP)"
.PHONY: tools
tools:
- $(MAKE) -C $(LEX)
- $(MAKE) -C $(NLFFIGEN)
- $(MAKE) -C $(PROF)
- $(MAKE) -C $(YACC)
- $(CP) $(LEX)/$(LEX)$(EXE) \
- $(NLFFIGEN)/$(NLFFIGEN)$(EXE) \
- $(PROF)/$(PROF)$(EXE) \
- $(YACC)/$(YACC)$(EXE) \
- $(BIN)/
+ $(MAKE) -C "$(LEX)"
+ $(MAKE) -C "$(NLFFIGEN)"
+ $(MAKE) -C "$(PROF)"
+ $(MAKE) -C "$(YACC)"
+ $(CP) "$(LEX)/$(LEX)$(EXE)" \
+ "$(NLFFIGEN)/$(NLFFIGEN)$(EXE)" \
+ "$(PROF)/$(PROF)$(EXE)" \
+ "$(YACC)/$(YACC)$(EXE)" \
+ "$(BIN)/"
.PHONY: version
version:
@echo 'Instantiating version numbers.'
for f in \
package/debian/changelog \
- $(SPEC) \
+ "$(SPEC)" \
package/freebsd/Makefile \
mlton/control/control-flags.sml; \
do \
- sed "s/\(.*\)MLTONVERSION\(.*\)/\1$(VERSION)\2/" <$$f >z && \
- mv z $$f; \
+ sed "s/\(.*\)MLTONVERSION\(.*\)/\1$(VERSION)\2/" <"$$f" >z && \
+ mv z "$$f"; \
done
- sed <$(SPEC) >z "/^Release:/s;.*;Release: $(RELEASE);"
- mv z $(SPEC)
+ sed <"$(SPEC)" >z "/^Release:/s;.*;Release: $(RELEASE);"
+ mv z "$(SPEC)"
.PHONY: world-no-check
world-no-check:
@echo 'Making world.'
$(MAKE) basis-no-check
- $(LIB)/$(AOUT)$(EXE) @MLton -- $(LIB)/world
+ "$(LIB)/$(AOUT)$(EXE)" @MLton -- "$(LIB)/world"
.PHONY: world
world:
$(MAKE) world-no-check
@echo 'Type checking basis.'
- $(MLTON) -disable-ann deadCode \
+ "$(MLTON)" -disable-ann deadCode \
-stop tc \
'$$(SML_LIB)/basis/libs/all.mlb' \
>/dev/null
@@ -402,65 +404,65 @@
.PHONY: install-no-docs
install-no-docs:
- mkdir -p $(TLIB) $(TBIN) $(TMAN)
- $(CP) $(LIB)/. $(TLIB)/
- rm -f $(TLIB)/self/libmlton-gdb.a
+ mkdir -p "$(TLIB)" "$(TBIN)" "$(TMAN)"
+ $(CP) "$(LIB)/." "$(TLIB)/"
+ rm -f "$(TLIB)/self/libmlton-gdb.a"
sed "/^lib=/s;.*;lib='$(prefix)/$(ULIB)';" \
- <$(SRC)/bin/mlton-script >$(TBIN)/mlton
- chmod a+x $(TBIN)/mlton
- cd $(BIN) && $(CP) $(LEX)$(EXE) $(NLFFIGEN)$(EXE) \
- $(PROF)$(EXE) $(YACC)$(EXE) $(TBIN)/
- ( cd $(SRC)/man && tar cf - $(MAN_PAGES)) | \
- ( cd $(TMAN)/ && tar xf - )
+ <"$(SRC)/bin/mlton-script" >"$(TBIN)/mlton"
+ chmod a+x "$(TBIN)/mlton"
+ cd "$(BIN)" && $(CP) "$(LEX)$(EXE)" "$(NLFFIGEN)$(EXE)" \
+ "$(PROF)$(EXE)" "$(YACC)$(EXE)" "$(TBIN)/"
+ ( cd "$(SRC)/man" && tar cf - $(MAN_PAGES)) | \
+ ( cd "$(TMAN)/" && tar xf - )
if $(GZIP_MAN); then \
- cd $(TMAN) && $(GZIP) $(MAN_PAGES); \
+ cd "$(TMAN)" && $(GZIP) $(MAN_PAGES); \
fi
case "$(TARGET_OS)" in \
aix|cygwin|darwin|solaris) \
;; \
*) \
- for f in $(TLIB)/$(AOUT)$(EXE) $(TBIN)/$(LEX)$(EXE) \
- $(TBIN)/$(NLFFIGEN)$(EXE) $(TBIN)/$(PROF)$(EXE) \
- $(TBIN)/$(YACC)$(EXE); do \
+ for f in "$(TLIB)/$(AOUT)$(EXE)" "$(TBIN)/$(LEX)$(EXE)" \
+ "$(TBIN)/$(NLFFIGEN)$(EXE)" "$(TBIN)/$(PROF)$(EXE)" \
+ "$(TBIN)/$(YACC)$(EXE)"; do \
strip --remove-section=.comment \
- --remove-section=.note $$f; \
+ --remove-section=.note "$$f"; \
done \
esac
.PHONY: install-docs
install-docs:
- mkdir -p $(TDOC)
+ mkdir -p "$(TDOC)"
( \
- cd $(SRC)/doc && \
- $(CP) changelog examples guide license README $(TDOC)/ \
+ cd "$(SRC)/doc" && \
+ $(CP) changelog examples guide license README "$(TDOC)/" \
)
- mv $(TDOC)/guide/mlton-guide.pdf $(TDOC)/
+ mv "$(TDOC)/guide/mlton-guide.pdf" "$(TDOC)/"
( \
- cd $(SRC)/util && \
- $(CP) cmcat cm2mlb $(TDOC)/ \
+ cd "$(SRC)/util" && \
+ $(CP) cmcat cm2mlb "$(TDOC)/" \
)
for f in callcc command-line hello-world same-fringe signals \
size taut thread1 thread2 thread-switch timeout \
; do \
- $(CP) $(SRC)/regression/$$f.sml $(TEXM)/; \
+ $(CP) "$(SRC)/regression/$$f.sml" "$(TEXM)/"; \
done
$(CP) $(LEX)/$(LEX).pdf $(TDOC)
$(CP) $(YACC)/$(YACC).pdf $(TDOC)
- find $(TDOC)/ -name .svn -type d | xargs rm -rf
- find $(TDOC)/ -name .ignore -type f | xargs rm -rf
- find $(TEXM)/ -name .svn -type d | xargs rm -rf
- find $(TEXM)/ -name .ignore -type f | xargs rm -rf
+ find "$(TDOC)/" -name .svn -type d | xargs rm -rf
+ find "$(TDOC)/" -name .ignore -type f | xargs rm -rf
+ find "$(TEXM)/" -name .svn -type d | xargs rm -rf
+ find "$(TEXM)/" -name .ignore -type f | xargs rm -rf
TDOCBASE := $(DESTDIR)$(prefix)/share/doc-base
.PHONY: post-install-debian
post-install-debian:
- cd $(TDOC)/ && rm -rf license
- $(CP) $(SRC)/debian/copyright $(SRC)/debian/README.Debian $(TDOC)/
- $(CP) $(SRC)/debian/changelog $(TDOC)/changelog.Debian
+ cd "$(TDOC)/" && rm -rf license
+ $(CP) "$(SRC)/debian/copyright" "$(SRC)/debian/README.Debian" "$(TDOC)/"
+ $(CP) "$(SRC)/debian/changelog" "$(TDOC)/changelog.Debian"
mkdir -p $(TDOCBASE)
for f in mllex mlton mlyacc; do \
- $(CP) $(SRC)/debian/$$f.doc-base $(TDOCBASE)/$$f; \
+ $(CP) "$(SRC)/debian/$$f.doc-base" "$(TDOCBASE)/$$f"; \
done
- cd $(TDOC)/ && $(GZIP) changelog changelog.Debian
- chown -R root.root $(TDOC) $(TLIB)
+ cd "$(TDOC)/" && $(GZIP) changelog changelog.Debian
+ chown -R root.root "$(TDOC)" "$(TLIB)"
Modified: mlton/trunk/basis-library/Makefile
===================================================================
--- mlton/trunk/basis-li...
[truncated message content] |
|
From: Matthew F. <fl...@ml...> - 2006-12-02 09:15:23
|
Remove license/MLton-LICENSE-only from x86_64 branch; This was removed from trunk by revision r4714. Merging trunk revisions into x86_64 branch didn't remove the file because it was created independently on trunk (r4713) and on x86_64 (r4712). ---------------------------------------------------------------------- D mlton/branches/on-20050822-x86_64-branch/doc/license/MLton-LICENSE-only ---------------------------------------------------------------------- Deleted: mlton/branches/on-20050822-x86_64-branch/doc/license/MLton-LICENSE-only =================================================================== --- mlton/branches/on-20050822-x86_64-branch/doc/license/MLton-LICENSE-only 2006-12-02 16:54:56 UTC (rev 4896) +++ mlton/branches/on-20050822-x86_64-branch/doc/license/MLton-LICENSE-only 2006-12-02 17:15:22 UTC (rev 4897) @@ -1,16 +0,0 @@ -Permission to use, copy, modify, and distribute this software and its -documentation for any purpose and without fee is hereby granted, -provided that the above copyright notice appear in all copies and that -both the copyright notice and this permission notice and warranty -disclaimer appear in supporting documentation, and that the name of -NEC, or any NEC entity not be used in advertising or publicity -pertaining to distribution of the software without specific, written -prior permission. - -NEC disclaims all warranties with regard to this software, including -all implied warranties of merchantability and fitness. In no event -shall NEC be liable for any special, indirect or consequential damages -or any damages whatsoever resulting from loss of use, data or profits, -whether in an action of contract, negligence or other tortious action, -arising out of or in connection with the use or performance of this -software. |
|
From: Matthew F. <fl...@ml...> - 2006-12-02 08:54:57
|
Merge trunk revisions 4866:4895 into x86_64 branch
----------------------------------------------------------------------
U mlton/branches/on-20050822-x86_64-branch/doc/changelog
----------------------------------------------------------------------
Modified: mlton/branches/on-20050822-x86_64-branch/doc/changelog
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/changelog 2006-12-01 17:14:03 UTC (rev 4895)
+++ mlton/branches/on-20050822-x86_64-branch/doc/changelog 2006-12-02 16:54:56 UTC (rev 4896)
@@ -6,6 +6,15 @@
required. This would later cause the compiler to raise the TypeError
exception, along with a lot of XML IL.
+* 2006-11-19
+ - On *-darwin, work with GnuMP installed via Fink or MacPorts.
+
+* 2006-10-30
+ - Ported to x86-darwin.
+
+* 2006-09-23
+ - Added missing specification of find to the MONO_VECTOR signature.
+
* 2006-08-03
- Fixed a bug in the "useless" SSA optimization, caused by calling
an imported C function and then ignoring the result.
|
|
From: Matthew F. <fl...@ml...> - 2006-12-01 09:14:05
|
The darwin linker complains (loudly) about non-existent library search paths
----------------------------------------------------------------------
U mlton/branches/on-20050822-x86_64-branch/bin/mlton-script
----------------------------------------------------------------------
Modified: mlton/branches/on-20050822-x86_64-branch/bin/mlton-script
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/bin/mlton-script 2006-12-01 14:25:32 UTC (rev 4894)
+++ mlton/branches/on-20050822-x86_64-branch/bin/mlton-script 2006-12-01 17:14:03 UTC (rev 4895)
@@ -67,6 +67,15 @@
# You may need to add a line with -link-opt '-L/path/to/libgmp' so
# that the linker can find libgmp.
+# The darwin linker complains (loudly) about non-existent library
+# search paths.
+if [ -d '/opt/local/lib' ]; then
+ darwinLinkOpts='-L/opt/local/lib'
+fi
+if [ -d '/sw/lib' ]; then
+ darwinLinkOpts='$darwinLinkOpts -L/sw/lib'
+fi
+
doit "$lib" \
-cc "$gcc" \
-cc-opt "-I$lib/include" \
@@ -92,7 +101,7 @@
-malign-jumps=2
-malign-loops=2' \
-target-link-opts amd64 '-m32' \
- -target-link-opts darwin '-L/opt/local/lib -L/sw/lib' \
+ -target-link-opts darwin '$darwinLinkOpts' \
-target-link-opts freebsd '-L/usr/local/lib/' \
-target-link-opts mingw \
'-lws2_32 -lkernel32 -lpsapi -lnetapi32' \
|
|
From: Vesa K. <ve...@ml...> - 2006-12-01 06:25:38
|
Added lazy promises. ---------------------------------------------------------------------- A mltonlib/trunk/com/ssh/extended-basis/unstable/detail/promise.sml U mltonlib/trunk/com/ssh/extended-basis/unstable/detail/smlnj/sigs.cm U mltonlib/trunk/com/ssh/extended-basis/unstable/detail/smlnj/unsealed.cm U mltonlib/trunk/com/ssh/extended-basis/unstable/extensions.mlb U mltonlib/trunk/com/ssh/extended-basis/unstable/extensions.use U mltonlib/trunk/com/ssh/extended-basis/unstable/public/export.sml A mltonlib/trunk/com/ssh/extended-basis/unstable/public/promise.sig ---------------------------------------------------------------------- Added: mltonlib/trunk/com/ssh/extended-basis/unstable/detail/promise.sml =================================================================== --- mltonlib/trunk/com/ssh/extended-basis/unstable/detail/promise.sml 2006-12-01 12:32:07 UTC (rev 4893) +++ mltonlib/trunk/com/ssh/extended-basis/unstable/detail/promise.sml 2006-12-01 14:25:32 UTC (rev 4894) @@ -0,0 +1,44 @@ +(* Copyright (C) 2006 SSH Communications Security, Helsinki, Finland + * + * This code is released under the MLton license, a BSD-style license. + * See the LICENSE file or http://mlton.org/License for details. + *) + +structure Promise :> PROMISE = struct + datatype 'a status = LAZY of 'a t Thunk.t + | EAGER of (Exn.t, 'a) Sum.t + withtype 'a t = 'a status ref ref + + fun lazy th = ref (ref (LAZY th)) + fun eager x = ref (ref (EAGER (Sum.INR x))) + fun delay th = lazy (ref o ref o EAGER o (fn () => Exn.eval th)) + + fun replay s = Sum.sum (Exn.throw, Fn.id) s + + fun force promise = + case !(!promise) of + EAGER x => replay x + | LAZY th => let + val promise' = th () + in + case !(!promise) of + LAZY _ => (!promise := !(!promise') + ; promise := !promise' + ; force promise) + | EAGER x => replay x + end + + fun thunk promise = + case !(!promise) of + EAGER s => Sum.sum (Fn.failing, Fn.const) s + | LAZY _ => fn () => force promise + + fun tie s k = + case !(!s) of + EAGER _ => raise Fix.Fix + | LAZY _ => s := !k + + fun Y ? = + Tie.tier (fn () => Pair.map (Fn.id, tie) + (Sq.mk (lazy (Fn.failing Fix.Fix)))) ? +end Property changes on: mltonlib/trunk/com/ssh/extended-basis/unstable/detail/promise.sml ___________________________________________________________________ Name: svn:eol-style + native Modified: mltonlib/trunk/com/ssh/extended-basis/unstable/detail/smlnj/sigs.cm =================================================================== --- mltonlib/trunk/com/ssh/extended-basis/unstable/detail/smlnj/sigs.cm 2006-12-01 12:32:07 UTC (rev 4893) +++ mltonlib/trunk/com/ssh/extended-basis/unstable/detail/smlnj/sigs.cm 2006-12-01 14:25:32 UTC (rev 4894) @@ -44,11 +44,9 @@ ../../public/sum.sig ../../public/text.sig ../../public/thunk.sig - ../../public/tie.sig ../../public/un-op.sig ../../public/un-pr.sig ../../public/unit.sig - ../../public/univ.sig ../../public/vector-slice.sig ../../public/vector.sig ../../public/with.sig Modified: mltonlib/trunk/com/ssh/extended-basis/unstable/detail/smlnj/unsealed.cm =================================================================== --- mltonlib/trunk/com/ssh/extended-basis/unstable/detail/smlnj/unsealed.cm 2006-12-01 12:32:07 UTC (rev 4893) +++ mltonlib/trunk/com/ssh/extended-basis/unstable/detail/smlnj/unsealed.cm 2006-12-01 14:25:32 UTC (rev 4894) @@ -8,6 +8,9 @@ group(sigs.cm) source(-) is + ../../public/promise.sig + ../../public/tie.sig + ../../public/univ.sig ../array-slice.sml ../array.sml ../bin-op.sml @@ -29,6 +32,7 @@ ../order.sml ../pair.sml ../product.sml + ../promise.sml ../reader.sml ../ref.sml ../smlnj/ints.sml Modified: mltonlib/trunk/com/ssh/extended-basis/unstable/extensions.mlb =================================================================== --- mltonlib/trunk/com/ssh/extended-basis/unstable/extensions.mlb 2006-12-01 12:32:07 UTC (rev 4893) +++ mltonlib/trunk/com/ssh/extended-basis/unstable/extensions.mlb 2006-12-01 14:25:32 UTC (rev 4894) @@ -177,6 +177,11 @@ detail/$(SML_COMPILER)/mono-array-slices.sml detail/$(SML_COMPILER)/texts.sml end + basis Promise = let + open Exn Fix Fn Products Sq Sum Tie + in + bas public/promise.sig detail/promise.sml end + end open BinOp BinPr Bool Buffer open Cmp @@ -186,7 +191,7 @@ open List open MonoSeqs open Option Order - open Products + open Products Promise open Reader Ref open Scalars Seqs Sq Sum open Thunk Tie Modified: mltonlib/trunk/com/ssh/extended-basis/unstable/extensions.use =================================================================== --- mltonlib/trunk/com/ssh/extended-basis/unstable/extensions.use 2006-12-01 12:32:07 UTC (rev 4893) +++ mltonlib/trunk/com/ssh/extended-basis/unstable/extensions.use 2006-12-01 14:25:32 UTC (rev 4894) @@ -87,6 +87,7 @@ "detail/"^compiler^"/mono-arrays.sml", "detail/"^compiler^"/mono-array-slices.sml", "detail/"^compiler^"/texts.sml", + "public/promise.sig", "detail/promise.sml", "detail/"^compiler^"/forget.use", "public/export-"^compiler^".sml", "public/export.sml", Modified: mltonlib/trunk/com/ssh/extended-basis/unstable/public/export.sml =================================================================== --- mltonlib/trunk/com/ssh/extended-basis/unstable/public/export.sml 2006-12-01 12:32:07 UTC (rev 4893) +++ mltonlib/trunk/com/ssh/extended-basis/unstable/public/export.sml 2006-12-01 14:25:32 UTC (rev 4894) @@ -34,6 +34,7 @@ signature PAIR = PAIR signature PRODUCT = PRODUCT signature PRODUCT_TYPE = PRODUCT_TYPE +signature PROMISE = PROMISE signature READER = READER signature REAL = REAL signature REF = REF @@ -54,6 +55,11 @@ signature WORD = WORD signature WRITER = WRITER +structure Univ : UNIV = Univ +structure Vector : VECTOR = Vector +structure Writer : WRITER = Writer +structure With : WITH = With + structure Array : ARRAY = Array structure ArraySlice : ARRAY_SLICE = ArraySlice structure BinOp : BIN_OP = BinOp @@ -84,6 +90,7 @@ structure Pair : PAIR = Pair structure Position : INTEGER = Position structure Product : PRODUCT = Product +structure Promise : PROMISE = Promise structure Reader : READER = Reader structure Real : REAL = Real structure Ref : REF where type 'a t = 'a ref = Ref @@ -97,14 +104,10 @@ structure UnOp : UN_OP = UnOp structure UnPr : UN_PR = UnPr structure Unit : UNIT = Unit -structure Univ : UNIV = Univ -structure Vector : VECTOR = Vector structure VectorSlice : VECTOR_SLICE = VectorSlice -structure With : WITH = With structure Word : WORD = Word structure Word8 : WORD = Word8 structure Word8Array : MONO_ARRAY = Word8Array structure Word8ArraySlice : MONO_ARRAY_SLICE = Word8ArraySlice structure Word8Vector : MONO_VECTOR = Word8Vector structure Word8VectorSlice : MONO_VECTOR_SLICE = Word8VectorSlice -structure Writer : WRITER = Writer Added: mltonlib/trunk/com/ssh/extended-basis/unstable/public/promise.sig =================================================================== --- mltonlib/trunk/com/ssh/extended-basis/unstable/public/promise.sig 2006-12-01 12:32:07 UTC (rev 4893) +++ mltonlib/trunk/com/ssh/extended-basis/unstable/public/promise.sig 2006-12-01 14:25:32 UTC (rev 4894) @@ -0,0 +1,80 @@ +(* Copyright (C) 2006 SSH Communications Security, Helsinki, Finland + * + * This code is released under the MLton license, a BSD-style license. + * See the LICENSE file or http://mlton.org/License for details. + *) + +(** + * Lazy promises. + * + * The design is based on SRFI-45 ``Primitives for Expressing Iterative Lazy + * Algorithms'' by André van Tonder: + * + * http://srfi.schemers.org/srfi-45/srfi-45.html + * + * The general recipe to express lazy algorithms is to + * - wrap all constructors with {delay (fn () => ...)}, + * - apply {force} to arguments of destructors, and + * - wrap function bodies with {lazy (fn () => ...)}. + *) +signature PROMISE = sig + type 'a t + (** The abstract type of promises. *) + + val delay : 'a Thunk.t -> 'a t + (** + * Takes a thunk of type {'a thunk} and returns a promise of type + * {'a t} which at some point in the future may be asked (by the + * {force} procedure) to evaluate the thunk and deliver the + * resulting value. + *) + + val eager : 'a -> 'a t + (** + * Takes an argument of type {'a} and returns a promise of type + * {'a t}. As opposed to {delay}, the argument is evaluated eagerly. + * + * Semantically, writing + * + *> eager expression + * + * is equivalent to writing + * + *> let val value = expression in delay (fn () => value) end + * + * However, the former is more efficient since it does not require + * unnecessary creation and evaluation of thunks. We also have the + * equivalence + * + *> delay (fn () => expression) = lazy (eager expression) + * + * assuming that evaluation of the expression does not raise an + * exception. + *) + + val force : 'a t -> 'a + (** + * Takes a promise of type {'a t} and returns a value of type {'a} + * as follows: If a value of type {'a} has been computed for the + * promise, this value is returned. Otherwise, the promise is first + * evaluated, then overwritten by the obtained promise or value, and + * then force is again applied (iteratively) to the promise. + *) + + val lazy : 'a t Thunk.t -> 'a t + (** + * Takes a thunk returning a promise of type {'a t} and returns a + * promise of type {'a t} which at some point in the future may be + * asked (by the {force} procedure) to evaluate the thunk and + * deliver the resulting promise. + *) + + val thunk : 'a t -> 'a Thunk.t + (** + * Converts a promise into a thunk. This can be useful for working + * around the value restriction, for example. + *) + + val Y : 'a t Tie.t + (** Fixpoint tier for promises. *) +end Property changes on: mltonlib/trunk/com/ssh/extended-basis/unstable/public/promise.sig ___________________________________________________________________ Name: svn:eol-style + native |
|
From: Vesa K. <ve...@ml...> - 2006-12-01 04:32:24
|
Added scoped resource management combinators. ---------------------------------------------------------------------- U mltonlib/trunk/com/ssh/extended-basis/unstable/basis.use U mltonlib/trunk/com/ssh/extended-basis/unstable/detail/bootstrap.sml U mltonlib/trunk/com/ssh/extended-basis/unstable/detail/smlnj/sigs.cm U mltonlib/trunk/com/ssh/extended-basis/unstable/detail/smlnj/unsealed.cm A mltonlib/trunk/com/ssh/extended-basis/unstable/detail/with.sml U mltonlib/trunk/com/ssh/extended-basis/unstable/extensions.mlb U mltonlib/trunk/com/ssh/extended-basis/unstable/extensions.use U mltonlib/trunk/com/ssh/extended-basis/unstable/public/export.sml A mltonlib/trunk/com/ssh/extended-basis/unstable/public/with.sig ---------------------------------------------------------------------- Modified: mltonlib/trunk/com/ssh/extended-basis/unstable/basis.use =================================================================== --- mltonlib/trunk/com/ssh/extended-basis/unstable/basis.use 2006-12-01 09:50:48 UTC (rev 4892) +++ mltonlib/trunk/com/ssh/extended-basis/unstable/basis.use 2006-12-01 12:32:07 UTC (rev 4893) @@ -4,4 +4,8 @@ * See the LICENSE file or http://mlton.org/License for details. *) +(* The use files of this library assume that they are used from the root + * directory of this library (the directory of this file). + *) + val () = use "extensions.use" Modified: mltonlib/trunk/com/ssh/extended-basis/unstable/detail/bootstrap.sml =================================================================== --- mltonlib/trunk/com/ssh/extended-basis/unstable/detail/bootstrap.sml 2006-12-01 09:50:48 UTC (rev 4892) +++ mltonlib/trunk/com/ssh/extended-basis/unstable/detail/bootstrap.sml 2006-12-01 12:32:07 UTC (rev 4893) @@ -50,3 +50,4 @@ structure BinPr = struct type 'a t = 'a Sq.t UnPr.t end structure Emb = struct type ('a, 'b) t = ('a -> 'b) * ('b -> 'a Option.t) end structure Iso = struct type ('a, 'b) t = ('a -> 'b) * ('b -> 'a) end +structure With = struct type ('a, 'b) t = ('a -> 'b) -> 'b end Modified: mltonlib/trunk/com/ssh/extended-basis/unstable/detail/smlnj/sigs.cm =================================================================== --- mltonlib/trunk/com/ssh/extended-basis/unstable/detail/smlnj/sigs.cm 2006-12-01 09:50:48 UTC (rev 4892) +++ mltonlib/trunk/com/ssh/extended-basis/unstable/detail/smlnj/sigs.cm 2006-12-01 12:32:07 UTC (rev 4893) @@ -51,6 +51,7 @@ ../../public/univ.sig ../../public/vector-slice.sig ../../public/vector.sig + ../../public/with.sig ../../public/word.sig ../../public/writer.sig funs.cm Modified: mltonlib/trunk/com/ssh/extended-basis/unstable/detail/smlnj/unsealed.cm =================================================================== --- mltonlib/trunk/com/ssh/extended-basis/unstable/detail/smlnj/unsealed.cm 2006-12-01 09:50:48 UTC (rev 4892) +++ mltonlib/trunk/com/ssh/extended-basis/unstable/detail/smlnj/unsealed.cm 2006-12-01 12:32:07 UTC (rev 4893) @@ -47,6 +47,7 @@ ../univ.sml ../vector-slice.sml ../vector.sml + ../with.sml ../writer.sml ext.sml sigs.cm Added: mltonlib/trunk/com/ssh/extended-basis/unstable/detail/with.sml =================================================================== --- mltonlib/trunk/com/ssh/extended-basis/unstable/detail/with.sml 2006-12-01 09:50:48 UTC (rev 4892) +++ mltonlib/trunk/com/ssh/extended-basis/unstable/detail/with.sml 2006-12-01 12:32:07 UTC (rev 4893) @@ -0,0 +1,28 @@ +(* Copyright (C) 2006 SSH Communications Security, Helsinki, Finland + * + * This code is released under the MLton license, a BSD-style license. + * See the LICENSE file or http://mlton.org/License for details. + *) + +structure With :> WITH = struct + open With + + infix >>= >>& + + val return = Fn.pass + fun (wA >>= a2wB) f = wA (fn a => a2wB a f) + + fun alloc g a f = f (g a) + fun free ef x f = (f x handle e => (ef x ; raise e)) before ef x + + fun (wA >>& wB) f = wA (fn a => wB (fn b => f (Product.& (a, b)))) + fun around new del = alloc new () >>= free del + fun entry ef = alloc ef () + fun exit ef = free ef () + local + fun `f x () = f x + in + fun calling {entry, exit} v = around (`entry v) (`exit v) + fun passing ef {entry, exit} = around (`ef entry) (`ef exit) + end +end Property changes on: mltonlib/trunk/com/ssh/extended-basis/unstable/detail/with.sml ___________________________________________________________________ Name: svn:eol-style + native Modified: mltonlib/trunk/com/ssh/extended-basis/unstable/extensions.mlb =================================================================== --- mltonlib/trunk/com/ssh/extended-basis/unstable/extensions.mlb 2006-12-01 09:50:48 UTC (rev 4892) +++ mltonlib/trunk/com/ssh/extended-basis/unstable/extensions.mlb 2006-12-01 12:32:07 UTC (rev 4893) @@ -76,6 +76,11 @@ detail/product.sml end end + basis With = let + open Fn Products + in + bas public/with.sig detail/with.sml end + end basis Sum = let open Fn in bas public/sum.sig detail/sum.sml end end basis Exn = let open Effect Ext Sum @@ -186,7 +191,7 @@ open Scalars Seqs Sq Sum open Thunk Tie open Unit Univ UnOp UnPr - open Writer + open With Writer in public/export-$(SML_COMPILER).sml public/export.sml Modified: mltonlib/trunk/com/ssh/extended-basis/unstable/extensions.use =================================================================== --- mltonlib/trunk/com/ssh/extended-basis/unstable/extensions.use 2006-12-01 09:50:48 UTC (rev 4892) +++ mltonlib/trunk/com/ssh/extended-basis/unstable/extensions.use 2006-12-01 12:32:07 UTC (rev 4893) @@ -34,6 +34,7 @@ "detail/pair.sml", "public/product.sig", "detail/product.sml", + "public/with.sig", "detail/with.sml", "public/sum.sig", "detail/sum.sml", "public/exn.sig", "detail/exn.sml", "public/emb.sig", "detail/emb.sml", Modified: mltonlib/trunk/com/ssh/extended-basis/unstable/public/export.sml =================================================================== --- mltonlib/trunk/com/ssh/extended-basis/unstable/public/export.sml 2006-12-01 09:50:48 UTC (rev 4892) +++ mltonlib/trunk/com/ssh/extended-basis/unstable/public/export.sml 2006-12-01 12:32:07 UTC (rev 4893) @@ -50,6 +50,7 @@ signature UN_PR = UN_PR signature VECTOR = VECTOR signature VECTOR_SLICE = VECTOR_SLICE +signature WITH = WITH signature WORD = WORD signature WRITER = WRITER @@ -99,6 +100,7 @@ structure Univ : UNIV = Univ structure Vector : VECTOR = Vector structure VectorSlice : VECTOR_SLICE = VectorSlice +structure With : WITH = With structure Word : WORD = Word structure Word8 : WORD = Word8 structure Word8Array : MONO_ARRAY = Word8Array Added: mltonlib/trunk/com/ssh/extended-basis/unstable/public/with.sig =================================================================== --- mltonlib/trunk/com/ssh/extended-basis/unstable/public/with.sig 2006-12-01 09:50:48 UTC (rev 4892) +++ mltonlib/trunk/com/ssh/extended-basis/unstable/public/with.sig 2006-12-01 12:32:07 UTC (rev 4893) @@ -0,0 +1,83 @@ +(* Copyright (C) 2006 SSH Communications Security, Helsinki, Finland + * + * This code is released under the MLton license, a BSD-style license. + * See the LICENSE file or http://mlton.org/License for details. + *) + +(** Scoped resource management combinators. *) +signature WITH = sig + type ('a, 'b) t = ('a -> 'b) -> 'b + (** + * Type for a form of continuation-passing style. + * + * In this context, a function of type {('a -> 'b) -> 'b} is referred + * to as a "with -procedure", and a continuation, of type {'a -> 'b}, + * given to a with -procedure is called a "block". + *) + + (** == Monad Interface == *) + + val return : 'a -> ('a, 'r) t + (** Calls the block with the specified value. Also see {alloc}. *) + + val >>= : ('a, 'r) t * ('a -> ('b, 'r) t) -> ('b, 'r) t + (** + * Composes two with -procedures, passing any value produced by the + * first as an argument to the second. + *) + + (** == Primitives == *) + + val alloc : ('a -> 'b) -> 'a -> ('b, 'r) t + (** + * Apply the given function with the given value just before entry to + * the block. + * + * This is basically a lazy version of {return}. Specifically, {alloc + * g a} is equivalent to {fn f => f (g a)}, assuming {g} and {a} are + * variables. + *) + + val free : 'a Effect.t -> 'a -> ('a, 'r) t + (** + * Performs the effect with the given value after exit from the block. + * This is basically a variation of {finally}. Specifically, {free ef + * x f} is equivalent to {finally (fn () => f x, fn () => ef x)}. + *) + + (** == Useful Combinations == *) + + val >>& : ('a, 'r) t * ('b, 'r) t -> (('a, 'b) Product.t, 'r) t + (** Product combinator. *) + + val around : 'a Thunk.t -> 'a Effect.t -> ('a, 'r) t + (** + * Allocate resources with given thunk before entry to the block and + * release the resource with given effect after exit from the block. + * {around new del} is equivalent to {alloc new () >>= free del}. + *) + + val entry : Unit.t Effect.t -> (Unit.t, 'r) t + (** + * Perform given effect before entry to the block. + * + * Note that the identifier {before} is already used in the Standard ML + * Basis Library. + *) + + val exit : Unit.t Effect.t -> (Unit.t, 'r) t + (** Perform given effect after exit from the block. *) + + val calling : + {entry : 'a Effect.t, exit : 'a Effect.t} -> 'a -> (Unit.t, 'r) t + (** + * Call given effects with the given value before entry to and after + * exit from the block. + *) + + val passing : 'a Effect.t -> {entry : 'a, exit : 'a} -> (Unit.t, 'r) t + (** + * Call given effect with a given values before entry to and after exit + * from the block. + *) +end Property changes on: mltonlib/trunk/com/ssh/extended-basis/unstable/public/with.sig ___________________________________________________________________ Name: svn:eol-style + native |
|
From: Vesa K. <ve...@ml...> - 2006-12-01 01:53:53
|
Clarified license. ---------------------------------------------------------------------- A mltonlib/trunk/com/ssh/extended-basis/unstable/LICENSE U mltonlib/trunk/com/ssh/extended-basis/unstable/basis.cm U mltonlib/trunk/com/ssh/extended-basis/unstable/basis.mlb U mltonlib/trunk/com/ssh/extended-basis/unstable/basis.use U mltonlib/trunk/com/ssh/extended-basis/unstable/detail/array-slice.sml U mltonlib/trunk/com/ssh/extended-basis/unstable/detail/array.sml U mltonlib/trunk/com/ssh/extended-basis/unstable/detail/bin-op.sml U mltonlib/trunk/com/ssh/extended-basis/unstable/detail/bin-pr.sml U mltonlib/trunk/com/ssh/extended-basis/unstable/detail/bool.sml U mltonlib/trunk/com/ssh/extended-basis/unstable/detail/bootstrap.sml U mltonlib/trunk/com/ssh/extended-basis/unstable/detail/buffer.sml U mltonlib/trunk/com/ssh/extended-basis/unstable/detail/cmp.sml U mltonlib/trunk/com/ssh/extended-basis/unstable/detail/common-mono-seqs.sml U mltonlib/trunk/com/ssh/extended-basis/unstable/detail/common-scalars.sml U mltonlib/trunk/com/ssh/extended-basis/unstable/detail/effect.sml U mltonlib/trunk/com/ssh/extended-basis/unstable/detail/emb.sml U mltonlib/trunk/com/ssh/extended-basis/unstable/detail/exit.sml U mltonlib/trunk/com/ssh/extended-basis/unstable/detail/exn.sml U mltonlib/trunk/com/ssh/extended-basis/unstable/detail/ext.sml U mltonlib/trunk/com/ssh/extended-basis/unstable/detail/fix.sml U mltonlib/trunk/com/ssh/extended-basis/unstable/detail/fn.sml U mltonlib/trunk/com/ssh/extended-basis/unstable/detail/iso.sml U mltonlib/trunk/com/ssh/extended-basis/unstable/detail/list.sml U mltonlib/trunk/com/ssh/extended-basis/unstable/detail/mk-int-inf-ext.fun U mltonlib/trunk/com/ssh/extended-basis/unstable/detail/mk-integer-ext.fun U mltonlib/trunk/com/ssh/extended-basis/unstable/detail/mk-mono-array-ext.fun U mltonlib/trunk/com/ssh/extended-basis/unstable/detail/mk-mono-array-slice-ext.fun U mltonlib/trunk/com/ssh/extended-basis/unstable/detail/mk-mono-seq-common-ext.fun U mltonlib/trunk/com/ssh/extended-basis/unstable/detail/mk-mono-vector-ext.fun U mltonlib/trunk/com/ssh/extended-basis/unstable/detail/mk-mono-vector-slice-ext.fun U mltonlib/trunk/com/ssh/extended-basis/unstable/detail/mk-real-ext.fun U mltonlib/trunk/com/ssh/extended-basis/unstable/detail/mk-seq-common-ext.fun U mltonlib/trunk/com/ssh/extended-basis/unstable/detail/mk-text-ext.fun U mltonlib/trunk/com/ssh/extended-basis/unstable/detail/mk-word-ext.fun U mltonlib/trunk/com/ssh/extended-basis/unstable/detail/mlkit/extensions.mlb U mltonlib/trunk/com/ssh/extended-basis/unstable/detail/mlkit/ints.sml U mltonlib/trunk/com/ssh/extended-basis/unstable/detail/mlkit/mono-array-slices.sml U mltonlib/trunk/com/ssh/extended-basis/unstable/detail/mlkit/mono-arrays.sml U mltonlib/trunk/com/ssh/extended-basis/unstable/detail/mlkit/mono-vector-slices.sml U mltonlib/trunk/com/ssh/extended-basis/unstable/detail/mlkit/mono-vectors.sml U mltonlib/trunk/com/ssh/extended-basis/unstable/detail/mlkit/reals.sml U mltonlib/trunk/com/ssh/extended-basis/unstable/detail/mlkit/texts.sml U mltonlib/trunk/com/ssh/extended-basis/unstable/detail/mlkit/words.sml U mltonlib/trunk/com/ssh/extended-basis/unstable/detail/mlkit/workarounds/ieee-real.sig U mltonlib/trunk/com/ssh/extended-basis/unstable/detail/mlkit/workarounds/ieee-real.sml U mltonlib/trunk/com/ssh/extended-basis/unstable/detail/mlkit/workarounds/mk-real-sane.fun U mltonlib/trunk/com/ssh/extended-basis/unstable/detail/mlkit/workarounds/real.sig U mltonlib/trunk/com/ssh/extended-basis/unstable/detail/mlkit/workarounds/reals.sml U mltonlib/trunk/com/ssh/extended-basis/unstable/detail/mlkit/workarounds.mlb U mltonlib/trunk/com/ssh/extended-basis/unstable/detail/mlton/ext.sml U mltonlib/trunk/com/ssh/extended-basis/unstable/detail/mlton/extensions.mlb U mltonlib/trunk/com/ssh/extended-basis/unstable/detail/mlton/ints.sml U mltonlib/trunk/com/ssh/extended-basis/unstable/detail/mlton/mono-array-slices.sml U mltonlib/trunk/com/ssh/extended-basis/unstable/detail/mlton/mono-arrays.sml U mltonlib/trunk/com/ssh/extended-basis/unstable/detail/mlton/mono-vector-slices.sml U mltonlib/trunk/com/ssh/extended-basis/unstable/detail/mlton/mono-vectors.sml U mltonlib/trunk/com/ssh/extended-basis/unstable/detail/mlton/reals.sml U mltonlib/trunk/com/ssh/extended-basis/unstable/detail/mlton/texts.sml U mltonlib/trunk/com/ssh/extended-basis/unstable/detail/mlton/words.sml U mltonlib/trunk/com/ssh/extended-basis/unstable/detail/mlton/workarounds.mlb U mltonlib/trunk/com/ssh/extended-basis/unstable/detail/option.sml U mltonlib/trunk/com/ssh/extended-basis/unstable/detail/order.sml U mltonlib/trunk/com/ssh/extended-basis/unstable/detail/pair.sml U mltonlib/trunk/com/ssh/extended-basis/unstable/detail/polyml/extensions.use U mltonlib/trunk/com/ssh/extended-basis/unstable/detail/polyml/forget.use U mltonlib/trunk/com/ssh/extended-basis/unstable/detail/polyml/ints.sml U mltonlib/trunk/com/ssh/extended-basis/unstable/detail/polyml/mono-array-slices.sml U mltonlib/trunk/com/ssh/extended-basis/unstable/detail/polyml/mono-arrays.sml U mltonlib/trunk/com/ssh/extended-basis/unstable/detail/polyml/mono-vector-slices.sml U mltonlib/trunk/com/ssh/extended-basis/unstable/detail/polyml/mono-vectors.sml U mltonlib/trunk/com/ssh/extended-basis/unstable/detail/polyml/reals.sml U mltonlib/trunk/com/ssh/extended-basis/unstable/detail/polyml/texts.sml U mltonlib/trunk/com/ssh/extended-basis/unstable/detail/polyml/words.sml U mltonlib/trunk/com/ssh/extended-basis/unstable/detail/polyml/workarounds/mk-real-sane.fun U mltonlib/trunk/com/ssh/extended-basis/unstable/detail/polyml/workarounds/real.sig U mltonlib/trunk/com/ssh/extended-basis/unstable/detail/polyml/workarounds/reals.sml U mltonlib/trunk/com/ssh/extended-basis/unstable/detail/polyml/workarounds.use U mltonlib/trunk/com/ssh/extended-basis/unstable/detail/product.sml U mltonlib/trunk/com/ssh/extended-basis/unstable/detail/reader.sml U mltonlib/trunk/com/ssh/extended-basis/unstable/detail/ref.sml U mltonlib/trunk/com/ssh/extended-basis/unstable/detail/smlnj/basis-minus-extensions.cm U mltonlib/trunk/com/ssh/extended-basis/unstable/detail/smlnj/bootstrap.cm U mltonlib/trunk/com/ssh/extended-basis/unstable/detail/smlnj/ext.sml U mltonlib/trunk/com/ssh/extended-basis/unstable/detail/smlnj/extensions.use U mltonlib/trunk/com/ssh/extended-basis/unstable/detail/smlnj/forget.use U mltonlib/trunk/com/ssh/extended-basis/unstable/detail/smlnj/funs.cm U mltonlib/trunk/com/ssh/extended-basis/unstable/detail/smlnj/ints.sml U mltonlib/trunk/com/ssh/extended-basis/unstable/detail/smlnj/mono-array-slices.sml U mltonlib/trunk/com/ssh/extended-basis/unstable/detail/smlnj/mono-arrays.sml U mltonlib/trunk/com/ssh/extended-basis/unstable/detail/smlnj/mono-vector-slices.sml U mltonlib/trunk/com/ssh/extended-basis/unstable/detail/smlnj/mono-vectors.sml U mltonlib/trunk/com/ssh/extended-basis/unstable/detail/smlnj/reals.sml U mltonlib/trunk/com/ssh/extended-basis/unstable/detail/smlnj/sigs.cm U mltonlib/trunk/com/ssh/extended-basis/unstable/detail/smlnj/texts.sml U mltonlib/trunk/com/ssh/extended-basis/unstable/detail/smlnj/unsealed.cm U mltonlib/trunk/com/ssh/extended-basis/unstable/detail/smlnj/words.sml U mltonlib/trunk/com/ssh/extended-basis/unstable/detail/smlnj/workarounds/basis-minus-sane.cm U mltonlib/trunk/com/ssh/extended-basis/unstable/detail/smlnj/workarounds/basis.cm U mltonlib/trunk/com/ssh/extended-basis/unstable/detail/smlnj/workarounds/funs.cm U mltonlib/trunk/com/ssh/extended-basis/unstable/detail/smlnj/workarounds/mk-real-sane.fun U mltonlib/trunk/com/ssh/extended-basis/unstable/detail/smlnj/workarounds/mk-word-sane.fun U mltonlib/trunk/com/ssh/extended-basis/unstable/detail/smlnj/workarounds/real.sig U mltonlib/trunk/com/ssh/extended-basis/unstable/detail/smlnj/workarounds/reals.sml U mltonlib/trunk/com/ssh/extended-basis/unstable/detail/smlnj/workarounds/sane.cm U mltonlib/trunk/com/ssh/extended-basis/unstable/detail/smlnj/workarounds/word.sig U mltonlib/trunk/com/ssh/extended-basis/unstable/detail/smlnj/workarounds/words.sml U mltonlib/trunk/com/ssh/extended-basis/unstable/detail/smlnj/workarounds.use U mltonlib/trunk/com/ssh/extended-basis/unstable/detail/sq.sml U mltonlib/trunk/com/ssh/extended-basis/unstable/detail/sum.sml U mltonlib/trunk/com/ssh/extended-basis/unstable/detail/thunk.sml U mltonlib/trunk/com/ssh/extended-basis/unstable/detail/tie.sml U mltonlib/trunk/com/ssh/extended-basis/unstable/detail/un-op.sml U mltonlib/trunk/com/ssh/extended-basis/unstable/detail/un-pr.sml U mltonlib/trunk/com/ssh/extended-basis/unstable/detail/univ.sml U mltonlib/trunk/com/ssh/extended-basis/unstable/detail/vector-slice.sml U mltonlib/trunk/com/ssh/extended-basis/unstable/detail/vector.sml U mltonlib/trunk/com/ssh/extended-basis/unstable/detail/writer.sml U mltonlib/trunk/com/ssh/extended-basis/unstable/extensions.cm U mltonlib/trunk/com/ssh/extended-basis/unstable/extensions.mlb U mltonlib/trunk/com/ssh/extended-basis/unstable/extensions.use U mltonlib/trunk/com/ssh/extended-basis/unstable/public/array-slice.sig U mltonlib/trunk/com/ssh/extended-basis/unstable/public/array.sig U mltonlib/trunk/com/ssh/extended-basis/unstable/public/bin-op.sig U mltonlib/trunk/com/ssh/extended-basis/unstable/public/bin-pr.sig U mltonlib/trunk/com/ssh/extended-basis/unstable/public/bool.sig U mltonlib/trunk/com/ssh/extended-basis/unstable/public/buffer.sig U mltonlib/trunk/com/ssh/extended-basis/unstable/public/char.sig U mltonlib/trunk/com/ssh/extended-basis/unstable/public/cmp.sig U mltonlib/trunk/com/ssh/extended-basis/unstable/public/effect.sig U mltonlib/trunk/com/ssh/extended-basis/unstable/public/emb.sig U mltonlib/trunk/com/ssh/extended-basis/unstable/public/exit.sig U mltonlib/trunk/com/ssh/extended-basis/unstable/public/exn.sig U mltonlib/trunk/com/ssh/extended-basis/unstable/public/export-mlkit.sml U mltonlib/trunk/com/ssh/extended-basis/unstable/public/export-mlton.sml U mltonlib/trunk/com/ssh/extended-basis/unstable/public/export-polyml.sml U mltonlib/trunk/com/ssh/extended-basis/unstable/public/export-smlnj.sml U mltonlib/trunk/com/ssh/extended-basis/unstable/public/export.sml U mltonlib/trunk/com/ssh/extended-basis/unstable/public/fix.sig U mltonlib/trunk/com/ssh/extended-basis/unstable/public/fn.sig U mltonlib/trunk/com/ssh/extended-basis/unstable/public/infixes.sml U mltonlib/trunk/com/ssh/extended-basis/unstable/public/int-inf.sig U mltonlib/trunk/com/ssh/extended-basis/unstable/public/integer.sig U mltonlib/trunk/com/ssh/extended-basis/unstable/public/iso.sig U mltonlib/trunk/com/ssh/extended-basis/unstable/public/list.sig U mltonlib/trunk/com/ssh/extended-basis/unstable/public/mono-array-slice.sig U mltonlib/trunk/com/ssh/extended-basis/unstable/public/mono-array.sig U mltonlib/trunk/com/ssh/extended-basis/unstable/public/mono-vector-slice.sig U mltonlib/trunk/com/ssh/extended-basis/unstable/public/mono-vector.sig U mltonlib/trunk/com/ssh/extended-basis/unstable/public/option.sig U mltonlib/trunk/com/ssh/extended-basis/unstable/public/order.sig U mltonlib/trunk/com/ssh/extended-basis/unstable/public/pair.sig U mltonlib/trunk/com/ssh/extended-basis/unstable/public/product-type.sig U mltonlib/trunk/com/ssh/extended-basis/unstable/public/product.sig U mltonlib/trunk/com/ssh/extended-basis/unstable/public/reader.sig U mltonlib/trunk/com/ssh/extended-basis/unstable/public/real.sig U mltonlib/trunk/com/ssh/extended-basis/unstable/public/ref.sig U mltonlib/trunk/com/ssh/extended-basis/unstable/public/sq.sig U mltonlib/trunk/com/ssh/extended-basis/unstable/public/string.sig U mltonlib/trunk/com/ssh/extended-basis/unstable/public/substring.sig U mltonlib/trunk/com/ssh/extended-basis/unstable/public/sum.sig U mltonlib/trunk/com/ssh/extended-basis/unstable/public/text.sig U mltonlib/trunk/com/ssh/extended-basis/unstable/public/thunk.sig U mltonlib/trunk/com/ssh/extended-basis/unstable/public/tie.sig U mltonlib/trunk/com/ssh/extended-basis/unstable/public/top-level.sml U mltonlib/trunk/com/ssh/extended-basis/unstable/public/un-op.sig U mltonlib/trunk/com/ssh/extended-basis/unstable/public/un-pr.sig U mltonlib/trunk/com/ssh/extended-basis/unstable/public/unit.sig U mltonlib/trunk/com/ssh/extended-basis/unstable/public/univ.sig U mltonlib/trunk/com/ssh/extended-basis/unstable/public/vector-slice.sig U mltonlib/trunk/com/ssh/extended-basis/unstable/public/vector.sig U mltonlib/trunk/com/ssh/extended-basis/unstable/public/word.sig U mltonlib/trunk/com/ssh/extended-basis/unstable/public/writer.sig U mltonlib/trunk/com/ssh/extended-basis/unstable/readme.txt ---------------------------------------------------------------------- Added: mltonlib/trunk/com/ssh/extended-basis/unstable/LICENSE =================================================================== --- mltonlib/trunk/com/ssh/extended-basis/unstable/LICENSE 2006-12-01 08:29:34 UTC (rev 4891) +++ mltonlib/trunk/com/ssh/extended-basis/unstable/LICENSE 2006-12-01 09:50:48 UTC (rev 4892) @@ -0,0 +1,20 @@ +COPYRIGHT NOTICE, LICENSE AND DISCLAIMER. + +Copyright (C) 2006 SSH Communications Security, Helsinki, Finland + +Permission to use, copy, modify, and distribute this software and its +documentation for any purpose and without fee is hereby granted, +provided that the above copyright notice appear in all copies and that +both the copyright notice and this permission notice and warranty +disclaimer appear in supporting documentation, and that the name of +the above copyright holders, or their entities, not be used in +advertising or publicity pertaining to distribution of the software +without specific, written prior permission. + +The above copyright holders disclaim all warranties with regard to +this software, including all implied warranties of merchantability and +fitness. In no event shall the above copyright holders be liable for +any special, indirect or consequential damages or any damages +whatsoever resulting from loss of use, data or profits, whether in an +action of contract, negligence or other tortious action, arising out +of or in connection with the use or performance of this software. Modified: mltonlib/trunk/com/ssh/extended-basis/unstable/basis.cm =================================================================== --- mltonlib/trunk/com/ssh/extended-basis/unstable/basis.cm 2006-12-01 08:29:34 UTC (rev 4891) +++ mltonlib/trunk/com/ssh/extended-basis/unstable/basis.cm 2006-12-01 09:50:48 UTC (rev 4892) @@ -1,7 +1,7 @@ (* Copyright (C) 2006 SSH Communications Security, Helsinki, Finland * - * MLton is released under a BSD-style license. - * See the file MLton-LICENSE for details. + * This code is released under the MLton license, a BSD-style license. + * See the LICENSE file or http://mlton.org/License for details. *) library Modified: mltonlib/trunk/com/ssh/extended-basis/unstable/basis.mlb =================================================================== --- mltonlib/trunk/com/ssh/extended-basis/unstable/basis.mlb 2006-12-01 08:29:34 UTC (rev 4891) +++ mltonlib/trunk/com/ssh/extended-basis/unstable/basis.mlb 2006-12-01 09:50:48 UTC (rev 4892) @@ -1,7 +1,7 @@ (* Copyright (C) 2006 SSH Communications Security, Helsinki, Finland * - * MLton is released under a BSD-style license. - * See the file MLton-LICENSE for details. + * This code is released under the MLton license, a BSD-style license. + * See the LICENSE file or http://mlton.org/License for details. *) (* Modified: mltonlib/trunk/com/ssh/extended-basis/unstable/basis.use =================================================================== --- mltonlib/trunk/com/ssh/extended-basis/unstable/basis.use 2006-12-01 08:29:34 UTC (rev 4891) +++ mltonlib/trunk/com/ssh/extended-basis/unstable/basis.use 2006-12-01 09:50:48 UTC (rev 4892) @@ -1,7 +1,7 @@ (* Copyright (C) 2006 SSH Communications Security, Helsinki, Finland * - * MLton is released under a BSD-style license. - * See the file MLton-LICENSE for details. + * This code is released under the MLton license, a BSD-style license. + * See the LICENSE file or http://mlton.org/License for details. *) val () = use "extensions.use" Modified: mltonlib/trunk/com/ssh/extended-basis/unstable/detail/array-slice.sml =================================================================== --- mltonlib/trunk/com/ssh/extended-basis/unstable/detail/array-slice.sml 2006-12-01 08:29:34 UTC (rev 4891) +++ mltonlib/trunk/com/ssh/extended-basis/unstable/detail/array-slice.sml 2006-12-01 09:50:48 UTC (rev 4892) @@ -1,7 +1,7 @@ (* Copyright (C) 2006 SSH Communications Security, Helsinki, Finland * - * MLton is released under a BSD-style license. - * See the file MLton-LICENSE for details. + * This code is released under the MLton license, a BSD-style license. + * See the LICENSE file or http://mlton.org/License for details. *) structure ArraySlice : ARRAY_SLICE = struct Modified: mltonlib/trunk/com/ssh/extended-basis/unstable/detail/array.sml =================================================================== --- mltonlib/trunk/com/ssh/extended-basis/unstable/detail/array.sml 2006-12-01 08:29:34 UTC (rev 4891) +++ mltonlib/trunk/com/ssh/extended-basis/unstable/detail/array.sml 2006-12-01 09:50:48 UTC (rev 4892) @@ -1,7 +1,7 @@ (* Copyright (C) 2006 SSH Communications Security, Helsinki, Finland * - * MLton is released under a BSD-style license. - * See the file MLton-LICENSE for details. + * This code is released under the MLton license, a BSD-style license. + * See the LICENSE file or http://mlton.org/License for details. *) structure Array : ARRAY = struct Modified: mltonlib/trunk/com/ssh/extended-basis/unstable/detail/bin-op.sml =================================================================== --- mltonlib/trunk/com/ssh/extended-basis/unstable/detail/bin-op.sml 2006-12-01 08:29:34 UTC (rev 4891) +++ mltonlib/trunk/com/ssh/extended-basis/unstable/detail/bin-op.sml 2006-12-01 09:50:48 UTC (rev 4892) @@ -1,7 +1,7 @@ (* Copyright (C) 2006 SSH Communications Security, Helsinki, Finland * - * MLton is released under a BSD-style license. - * See the file MLton-LICENSE for details. + * This code is released under the MLton license, a BSD-style license. + * See the LICENSE file or http://mlton.org/License for details. *) structure BinOp :> BIN_OP = struct Modified: mltonlib/trunk/com/ssh/extended-basis/unstable/detail/bin-pr.sml =================================================================== --- mltonlib/trunk/com/ssh/extended-basis/unstable/detail/bin-pr.sml 2006-12-01 08:29:34 UTC (rev 4891) +++ mltonlib/trunk/com/ssh/extended-basis/unstable/detail/bin-pr.sml 2006-12-01 09:50:48 UTC (rev 4892) @@ -1,7 +1,7 @@ (* Copyright (C) 2006 SSH Communications Security, Helsinki, Finland * - * MLton is released under a BSD-style license. - * See the file MLton-LICENSE for details. + * This code is released under the MLton license, a BSD-style license. + * See the LICENSE file or http://mlton.org/License for details. *) structure BinPr :> BIN_PR = struct Modified: mltonlib/trunk/com/ssh/extended-basis/unstable/detail/bool.sml =================================================================== --- mltonlib/trunk/com/ssh/extended-basis/unstable/detail/bool.sml 2006-12-01 08:29:34 UTC (rev 4891) +++ mltonlib/trunk/com/ssh/extended-basis/unstable/detail/bool.sml 2006-12-01 09:50:48 UTC (rev 4892) @@ -1,7 +1,7 @@ (* Copyright (C) 2006 SSH Communications Security, Helsinki, Finland * - * MLton is released under a BSD-style license. - * See the file MLton-LICENSE for details. + * This code is released under the MLton license, a BSD-style license. + * See the LICENSE file or http://mlton.org/License for details. *) structure Bool : BOOL = struct Modified: mltonlib/trunk/com/ssh/extended-basis/unstable/detail/bootstrap.sml =================================================================== --- mltonlib/trunk/com/ssh/extended-basis/unstable/detail/bootstrap.sml 2006-12-01 08:29:34 UTC (rev 4891) +++ mltonlib/trunk/com/ssh/extended-basis/unstable/detail/bootstrap.sml 2006-12-01 09:50:48 UTC (rev 4892) @@ -1,7 +1,7 @@ (* Copyright (C) 2006 SSH Communications Security, Helsinki, Finland * - * MLton is released under a BSD-style license. - * See the file MLton-LICENSE for details. + * This code is released under the MLton license, a BSD-style license. + * See the LICENSE file or http://mlton.org/License for details. *) (* Minimal modules for bootstrapping. *) Modified: mltonlib/trunk/com/ssh/extended-basis/unstable/detail/buffer.sml =================================================================== --- mltonlib/trunk/com/ssh/extended-basis/unstable/detail/buffer.sml 2006-12-01 08:29:34 UTC (rev 4891) +++ mltonlib/trunk/com/ssh/extended-basis/unstable/detail/buffer.sml 2006-12-01 09:50:48 UTC (rev 4892) @@ -1,7 +1,7 @@ (* Copyright (C) 2006 SSH Communications Security, Helsinki, Finland * - * MLton is released under a BSD-style license. - * See the file MLton-LICENSE for details. + * This code is released under the MLton license, a BSD-style license. + * See the LICENSE file or http://mlton.org/License for details. *) structure Buffer :> BUFFER = struct Modified: mltonlib/trunk/com/ssh/extended-basis/unstable/detail/cmp.sml =================================================================== --- mltonlib/trunk/com/ssh/extended-basis/unstable/detail/cmp.sml 2006-12-01 08:29:34 UTC (rev 4891) +++ mltonlib/trunk/com/ssh/extended-basis/unstable/detail/cmp.sml 2006-12-01 09:50:48 UTC (rev 4892) @@ -1,7 +1,7 @@ (* Copyright (C) 2006 SSH Communications Security, Helsinki, Finland * - * MLton is released under a BSD-style license. - * See the file MLton-LICENSE for details. + * This code is released under the MLton license, a BSD-style license. + * See the LICENSE file or http://mlton.org/License for details. *) structure Cmp :> CMP = struct Modified: mltonlib/trunk/com/ssh/extended-basis/unstable/detail/common-mono-seqs.sml =================================================================== --- mltonlib/trunk/com/ssh/extended-basis/unstable/detail/common-mono-seqs.sml 2006-12-01 08:29:34 UTC (rev 4891) +++ mltonlib/trunk/com/ssh/extended-basis/unstable/detail/common-mono-seqs.sml 2006-12-01 09:50:48 UTC (rev 4892) @@ -1,7 +1,7 @@ (* Copyright (C) 2006 SSH Communications Security, Helsinki, Finland * - * MLton is released under a BSD-style license. - * See the file MLton-LICENSE for details. + * This code is released under the MLton license, a BSD-style license. + * See the LICENSE file or http://mlton.org/License for details. *) (* Extended mono sequence modules common to all compilers *) Modified: mltonlib/trunk/com/ssh/extended-basis/unstable/detail/common-scalars.sml =================================================================== --- mltonlib/trunk/com/ssh/extended-basis/unstable/detail/common-scalars.sml 2006-12-01 08:29:34 UTC (rev 4891) +++ mltonlib/trunk/com/ssh/extended-basis/unstable/detail/common-scalars.sml 2006-12-01 09:50:48 UTC (rev 4892) @@ -1,7 +1,7 @@ (* Copyright (C) 2006 SSH Communications Security, Helsinki, Finland * - * MLton is released under a BSD-style license. - * See the file MLton-LICENSE for details. + * This code is released under the MLton license, a BSD-style license. + * See the LICENSE file or http://mlton.org/License for details. *) (* Extended scalar modules common to all compilers *) Modified: mltonlib/trunk/com/ssh/extended-basis/unstable/detail/effect.sml =================================================================== --- mltonlib/trunk/com/ssh/extended-basis/unstable/detail/effect.sml 2006-12-01 08:29:34 UTC (rev 4891) +++ mltonlib/trunk/com/ssh/extended-basis/unstable/detail/effect.sml 2006-12-01 09:50:48 UTC (rev 4892) @@ -1,7 +1,7 @@ (* Copyright (C) 2006 SSH Communications Security, Helsinki, Finland * - * MLton is released under a BSD-style license. - * See the file MLton-LICENSE for details. + * This code is released under the MLton license, a BSD-style license. + * See the LICENSE file or http://mlton.org/License for details. *) structure Effect :> EFFECT = struct Modified: mltonlib/trunk/com/ssh/extended-basis/unstable/detail/emb.sml =================================================================== --- mltonlib/trunk/com/ssh/extended-basis/unstable/detail/emb.sml 2006-12-01 08:29:34 UTC (rev 4891) +++ mltonlib/trunk/com/ssh/extended-basis/unstable/detail/emb.sml 2006-12-01 09:50:48 UTC (rev 4892) @@ -1,7 +1,7 @@ (* Copyright (C) 2006 SSH Communications Security, Helsinki, Finland * - * MLton is released under a BSD-style license. - * See the file MLton-LICENSE for details. + * This code is released under the MLton license, a BSD-style license. + * See the LICENSE file or http://mlton.org/License for details. *) structure Emb :> EMB = struct Modified: mltonlib/trunk/com/ssh/extended-basis/unstable/detail/exit.sml =================================================================== --- mltonlib/trunk/com/ssh/extended-basis/unstable/detail/exit.sml 2006-12-01 08:29:34 UTC (rev 4891) +++ mltonlib/trunk/com/ssh/extended-basis/unstable/detail/exit.sml 2006-12-01 09:50:48 UTC (rev 4892) @@ -1,7 +1,7 @@ (* Copyright (C) 2006 SSH Communications Security, Helsinki, Finland * - * MLton is released under a BSD-style license. - * See the file MLton-LICENSE for details. + * This code is released under the MLton license, a BSD-style license. + * See the LICENSE file or http://mlton.org/License for details. *) structure Exit :> EXIT = struct Modified: mltonlib/trunk/com/ssh/extended-basis/unstable/detail/exn.sml =================================================================== --- mltonlib/trunk/com/ssh/extended-basis/unstable/detail/exn.sml 2006-12-01 08:29:34 UTC (rev 4891) +++ mltonlib/trunk/com/ssh/extended-basis/unstable/detail/exn.sml 2006-12-01 09:50:48 UTC (rev 4892) @@ -1,7 +1,7 @@ (* Copyright (C) 2006 SSH Communications Security, Helsinki, Finland * - * MLton is released under a BSD-style license. - * See the file MLton-LICENSE for details. + * This code is released under the MLton license, a BSD-style license. + * See the LICENSE file or http://mlton.org/License for details. *) structure Exn : EXN = struct Modified: mltonlib/trunk/com/ssh/extended-basis/unstable/detail/ext.sml =================================================================== --- mltonlib/trunk/com/ssh/extended-basis/unstable/detail/ext.sml 2006-12-01 08:29:34 UTC (rev 4891) +++ mltonlib/trunk/com/ssh/extended-basis/unstable/detail/ext.sml 2006-12-01 09:50:48 UTC (rev 4892) @@ -1,7 +1,7 @@ (* Copyright (C) 2006 SSH Communications Security, Helsinki, Finland * - * MLton is released under a BSD-style license. - * See the file MLton-LICENSE for details. + * This code is released under the MLton license, a BSD-style license. + * See the LICENSE file or http://mlton.org/License for details. *) structure Ext = struct Modified: mltonlib/trunk/com/ssh/extended-basis/unstable/detail/fix.sml =================================================================== --- mltonlib/trunk/com/ssh/extended-basis/unstable/detail/fix.sml 2006-12-01 08:29:34 UTC (rev 4891) +++ mltonlib/trunk/com/ssh/extended-basis/unstable/detail/fix.sml 2006-12-01 09:50:48 UTC (rev 4892) @@ -1,7 +1,7 @@ (* Copyright (C) 2006 SSH Communications Security, Helsinki, Finland * - * MLton is released under a BSD-style license. - * See the file MLton-LICENSE for details. + * This code is released under the MLton license, a BSD-style license. + * See the LICENSE file or http://mlton.org/License for details. *) structure Fix :> FIX = struct Modified: mltonlib/trunk/com/ssh/extended-basis/unstable/detail/fn.sml =================================================================== --- mltonlib/trunk/com/ssh/extended-basis/unstable/detail/fn.sml 2006-12-01 08:29:34 UTC (rev 4891) +++ mltonlib/trunk/com/ssh/extended-basis/unstable/detail/fn.sml 2006-12-01 09:50:48 UTC (rev 4892) @@ -1,7 +1,7 @@ (* Copyright (C) 2006 SSH Communications Security, Helsinki, Finland * - * MLton is released under a BSD-style license. - * See the file MLton-LICENSE for details. + * This code is released under the MLton license, a BSD-style license. + * See the LICENSE file or http://mlton.org/License for details. *) structure Fn :> FN = struct Modified: mltonlib/trunk/com/ssh/extended-basis/unstable/detail/iso.sml =================================================================== --- mltonlib/trunk/com/ssh/extended-basis/unstable/detail/iso.sml 2006-12-01 08:29:34 UTC (rev 4891) +++ mltonlib/trunk/com/ssh/extended-basis/unstable/detail/iso.sml 2006-12-01 09:50:48 UTC (rev 4892) @@ -1,7 +1,7 @@ (* Copyright (C) 2006 SSH Communications Security, Helsinki, Finland * - * MLton is released under a BSD-style license. - * See the file MLton-LICENSE for details. + * This code is released under the MLton license, a BSD-style license. + * See the LICENSE file or http://mlton.org/License for details. *) structure Iso :> ISO = struct Modified: mltonlib/trunk/com/ssh/extended-basis/unstable/detail/list.sml =================================================================== --- mltonlib/trunk/com/ssh/extended-basis/unstable/detail/list.sml 2006-12-01 08:29:34 UTC (rev 4891) +++ mltonlib/trunk/com/ssh/extended-basis/unstable/detail/list.sml 2006-12-01 09:50:48 UTC (rev 4892) @@ -1,7 +1,7 @@ (* Copyright (C) 2006 SSH Communications Security, Helsinki, Finland * - * MLton is released under a BSD-style license. - * See the file MLton-LICENSE for details. + * This code is released under the MLton license, a BSD-style license. + * See the LICENSE file or http://mlton.org/License for details. *) structure List : LIST = struct Modified: mltonlib/trunk/com/ssh/extended-basis/unstable/detail/mk-int-inf-ext.fun =================================================================== --- mltonlib/trunk/com/ssh/extended-basis/unstable/detail/mk-int-inf-ext.fun 2006-12-01 08:29:34 UTC (rev 4891) +++ mltonlib/trunk/com/ssh/extended-basis/unstable/detail/mk-int-inf-ext.fun 2006-12-01 09:50:48 UTC (rev 4892) @@ -1,7 +1,7 @@ (* Copyright (C) 2006 SSH Communications Security, Helsinki, Finland * - * MLton is released under a BSD-style license. - * See the file MLton-LICENSE for details. + * This code is released under the MLton license, a BSD-style license. + * See the LICENSE file or http://mlton.org/License for details. *) functor MkIntInfExt (I : INT_INF) = struct Modified: mltonlib/trunk/com/ssh/extended-basis/unstable/detail/mk-integer-ext.fun =================================================================== --- mltonlib/trunk/com/ssh/extended-basis/unstable/detail/mk-integer-ext.fun 2006-12-01 08:29:34 UTC (rev 4891) +++ mltonlib/trunk/com/ssh/extended-basis/unstable/detail/mk-integer-ext.fun 2006-12-01 09:50:48 UTC (rev 4892) @@ -1,7 +1,7 @@ (* Copyright (C) 2006 SSH Communications Security, Helsinki, Finland * - * MLton is released under a BSD-style license. - * See the file MLton-LICENSE for details. + * This code is released under the MLton license, a BSD-style license. + * See the LICENSE file or http://mlton.org/License for details. *) functor MkIntegerExt (I : INTEGER) = struct Modified: mltonlib/trunk/com/ssh/extended-basis/unstable/detail/mk-mono-array-ext.fun =================================================================== --- mltonlib/trunk/com/ssh/extended-basis/unstable/detail/mk-mono-array-ext.fun 2006-12-01 08:29:34 UTC (rev 4891) +++ mltonlib/trunk/com/ssh/extended-basis/unstable/detail/mk-mono-array-ext.fun 2006-12-01 09:50:48 UTC (rev 4892) @@ -1,7 +1,7 @@ (* Copyright (C) 2006 SSH Communications Security, Helsinki, Finland * - * MLton is released under a BSD-style license. - * See the file MLton-LICENSE for details. + * This code is released under the MLton license, a BSD-style license. + * See the LICENSE file or http://mlton.org/License for details. *) functor MkMonoArrayExt (structure MonoVector : MONO_VECTOR Modified: mltonlib/trunk/com/ssh/extended-basis/unstable/detail/mk-mono-array-slice-ext.fun =================================================================== --- mltonlib/trunk/com/ssh/extended-basis/unstable/detail/mk-mono-array-slice-ext.fun 2006-12-01 08:29:34 UTC (rev 4891) +++ mltonlib/trunk/com/ssh/extended-basis/unstable/detail/mk-mono-array-slice-ext.fun 2006-12-01 09:50:48 UTC (rev 4892) @@ -1,7 +1,7 @@ (* Copyright (C) 2006 SSH Communications Security, Helsinki, Finland * - * MLton is released under a BSD-style license. - * See the file MLton-LICENSE for details. + * This code is released under the MLton license, a BSD-style license. + * See the LICENSE file or http://mlton.org/License for details. *) functor MkMonoArraySliceExt (structure MonoArraySlice : MONO_ARRAY_SLICE) = Modified: mltonlib/trunk/com/ssh/extended-basis/unstable/detail/mk-mono-seq-common-ext.fun =================================================================== --- mltonlib/trunk/com/ssh/extended-basis/unstable/detail/mk-mono-seq-common-ext.fun 2006-12-01 08:29:34 UTC (rev 4891) +++ mltonlib/trunk/com/ssh/extended-basis/unstable/detail/mk-mono-seq-common-ext.fun 2006-12-01 09:50:48 UTC (rev 4892) @@ -1,7 +1,7 @@ (* Copyright (C) 2006 SSH Communications Security, Helsinki, Finland * - * MLton is released under a BSD-style license. - * See the file MLton-LICENSE for details. + * This code is released under the MLton license, a BSD-style license. + * See the LICENSE file or http://mlton.org/License for details. *) functor MkMonoSeqCommonExt (type t Modified: mltonlib/trunk/com/ssh/extended-basis/unstable/detail/mk-mono-vector-ext.fun =================================================================== --- mltonlib/trunk/com/ssh/extended-basis/unstable/detail/mk-mono-vector-ext.fun 2006-12-01 08:29:34 UTC (rev 4891) +++ mltonlib/trunk/com/ssh/extended-basis/unstable/detail/mk-mono-vector-ext.fun 2006-12-01 09:50:48 UTC (rev 4892) @@ -1,7 +1,7 @@ (* Copyright (C) 2006 SSH Communications Security, Helsinki, Finland * - * MLton is released under a BSD-style license. - * See the file MLton-LICENSE for details. + * This code is released under the MLton license, a BSD-style license. + * See the LICENSE file or http://mlton.org/License for details. *) functor MkMonoVectorExt (MonoVector : MONO_VECTOR) = struct Modified: mltonlib/trunk/com/ssh/extended-basis/unstable/detail/mk-mono-vector-slice-ext.fun =================================================================== --- mltonlib/trunk/com/ssh/extended-basis/unstable/detail/mk-mono-vector-slice-ext.fun 2006-12-01 08:29:34 UTC (rev 4891) +++ mltonlib/trunk/com/ssh/extended-basis/unstable/detail/mk-mono-vector-slice-ext.fun 2006-12-01 09:50:48 UTC (rev 4892) @@ -1,7 +1,7 @@ (* Copyright (C) 2006 SSH Communications Security, Helsinki, Finland * - * MLton is released under a BSD-style license. - * See the file MLton-LICENSE for details. + * This code is released under the MLton license, a BSD-style license. + * See the LICENSE file or http://mlton.org/License for details. *) functor MkMonoVectorSliceExt (structure MonoVectorSlice : MONO_VECTOR_SLICE) = Modified: mltonlib/trunk/com/ssh/extended-basis/unstable/detail/mk-real-ext.fun =================================================================== --- mltonlib/trunk/com/ssh/extended-basis/unstable/detail/mk-real-ext.fun 2006-12-01 08:29:34 UTC (rev 4891) +++ mltonlib/trunk/com/ssh/extended-basis/unstable/detail/mk-real-ext.fun 2006-12-01 09:50:48 UTC (rev 4892) @@ -1,7 +1,7 @@ (* Copyright (C) 2006 SSH Communications Security, Helsinki, Finland * - * MLton is released under a BSD-style license. - * See the file MLton-LICENSE for details. + * This code is released under the MLton license, a BSD-style license. + * See the LICENSE file or http://mlton.org/License for details. *) functor MkRealExt (R : REAL) = struct Modified: mltonlib/trunk/com/ssh/extended-basis/unstable/detail/mk-seq-common-ext.fun =================================================================== --- mltonlib/trunk/com/ssh/extended-basis/unstable/detail/mk-seq-common-ext.fun 2006-12-01 08:29:34 UTC (rev 4891) +++ mltonlib/trunk/com/ssh/extended-basis/unstable/detail/mk-seq-common-ext.fun 2006-12-01 09:50:48 UTC (rev 4892) @@ -1,7 +1,7 @@ (* Copyright (C) 2006 SSH Communications Security, Helsinki, Finland * - * MLton is released under a BSD-style license. - * See the file MLton-LICENSE for details. + * This code is released under the MLton license, a BSD-style license. + * See the LICENSE file or http://mlton.org/License for details. *) functor MkSeqCommonExt (type 'a t Modified: mltonlib/trunk/com/ssh/extended-basis/unstable/detail/mk-text-ext.fun =================================================================== --- mltonlib/trunk/com/ssh/extended-basis/unstable/detail/mk-text-ext.fun 2006-12-01 08:29:34 UTC (rev 4891) +++ mltonlib/trunk/com/ssh/extended-basis/unstable/detail/mk-text-ext.fun 2006-12-01 09:50:48 UTC (rev 4892) @@ -1,7 +1,7 @@ (* Copyright (C) 2006 SSH Communications Security, Helsinki, Finland * - * MLton is released under a BSD-style license. - * See the file MLton-LICENSE for details. + * This code is released under the MLton license, a BSD-style license. + * See the LICENSE file or http://mlton.org/License for details. *) functor MkTextExt (T : TEXT) = struct Modified: mltonlib/trunk/com/ssh/extended-basis/unstable/detail/mk-word-ext.fun =================================================================== --- mltonlib/trunk/com/ssh/extended-basis/unstable/detail/mk-word-ext.fun 2006-12-01 08:29:34 UTC (rev 4891) +++ mltonlib/trunk/com/ssh/extended-basis/unstable/detail/mk-word-ext.fun 2006-12-01 09:50:48 UTC (rev 4892) @@ -1,7 +1,7 @@ (* Copyright (C) 2006 SSH Communications Security, Helsinki, Finland * - * MLton is released under a BSD-style license. - * See the file MLton-LICENSE for details. + * This code is released under the MLton license, a BSD-style license. + * See the LICENSE file or http://mlton.org/License for details. *) functor MkWordExt (W : WORD) = struct Modified: mltonlib/trunk/com/ssh/extended-basis/unstable/detail/mlkit/extensions.mlb =================================================================== --- mltonlib/trunk/com/ssh/extended-basis/unstable/detail/mlkit/extensions.mlb 2006-12-01 08:29:34 UTC (rev 4891) +++ mltonlib/trunk/com/ssh/extended-basis/unstable/detail/mlkit/extensions.mlb 2006-12-01 09:50:48 UTC (rev 4892) @@ -1,7 +1,7 @@ (* Copyright (C) 2006 SSH Communications Security, Helsinki, Finland * - * MLton is released under a BSD-style license. - * See the file MLton-LICENSE for details. + * This code is released under the MLton license, a BSD-style license. + * See the LICENSE file or http://mlton.org/License for details. *) local Modified: mltonlib/trunk/com/ssh/extended-basis/unstable/detail/mlkit/ints.sml =================================================================== --- mltonlib/trunk/com/ssh/extended-basis/unstable/detail/mlkit/ints.sml 2006-12-01 08:29:34 UTC (rev 4891) +++ mltonlib/trunk/com/ssh/extended-basis/unstable/detail/mlkit/ints.sml 2006-12-01 09:50:48 UTC (rev 4892) @@ -1,7 +1,7 @@ (* Copyright (C) 2006 SSH Communications Security, Helsinki, Finland * - * MLton is released under a BSD-style license. - * See the file MLton-LICENSE for details. + * This code is released under the MLton license, a BSD-style license. + * See the LICENSE file or http://mlton.org/License for details. *) (** == Extended {INTEGER} and {INT_INF} modules for MLKit == *) Modified: mltonlib/trunk/com/ssh/extended-basis/unstable/detail/mlkit/mono-array-slices.sml =================================================================== --- mltonlib/trunk/com/ssh/extended-basis/unstable/detail/mlkit/mono-array-slices.sml 2006-12-01 08:29:34 UTC (rev 4891) +++ mltonlib/trunk/com/ssh/extended-basis/unstable/detail/mlkit/mono-array-slices.sml 2006-12-01 09:50:48 UTC (rev 4892) @@ -1,7 +1,7 @@ (* Copyright (C) 2006 SSH Communications Security, Helsinki, Finland * - * MLton is released under a BSD-style license. - * See the file MLton-LICENSE for details. + * This code is released under the MLton license, a BSD-style license. + * See the LICENSE file or http://mlton.org/License for details. *) (** == Extended {MONO_ARRAY_SLICE} modules for MLKit == *) Modified: mltonlib/trunk/com/ssh/extended-basis/unstable/detail/mlkit/mono-arrays.sml =================================================================== --- mltonlib/trunk/com/ssh/extended-basis/unstable/detail/mlkit/mono-arrays.sml 2006-12-01 08:29:34 UTC (rev 4891) +++ mltonlib/trunk/com/ssh/extended-basis/unstable/detail/mlkit/mono-arrays.sml 2006-12-01 09:50:48 UTC (rev 4892) @@ -1,7 +1,7 @@ (* Copyright (C) 2006 SSH Communications Security, Helsinki, Finland * - * MLton is released under a BSD-style license. - * See the file MLton-LICENSE for details. + * This code is released under the MLton license, a BSD-style license. + * See the LICENSE file or http://mlton.org/License for details. *) (** == Extended {MONO_ARRAY} modules for MLKit == *) Modified: mltonlib/trunk/com/ssh/extended-basis/unstable/detail/mlkit/mono-vector-slices.sml =================================================================== --- mltonlib/trunk/com/ssh/extended-basis/unstable/detail/mlkit/mono-vector-slices.sml 2006-12-01 08:29:34 UTC (rev 4891) +++ mltonlib/trunk/com/ssh/extended-basis/unstable/detail/mlkit/mono-vector-slices.sml 2006-12-01 09:50:48 UTC (rev 4892) @@ -1,7 +1,7 @@ (* Copyright (C) 2006 SSH Communications Security, Helsinki, Finland * - * MLton is released under a BSD-style license. - * See the file MLton-LICENSE for details. + * This code is released under the MLton license, a BSD-style license. + * See the LICENSE file or http://mlton.org/License for details. *) (** == Extended {MONO_VECTOR_SLICE} modules for MLKit == *) Modified: mltonlib/trunk/com/ssh/extended-basis/unstable/detail/mlkit/mono-vectors.sml =================================================================== --- mltonlib/trunk/com/ssh/extended-basis/unstable/detail/mlkit/mono-vectors.sml 2006-12-01 08:29:34 UTC (rev 4891) +++ mltonlib/trunk/com/ssh/extended-basis/unstable/detail/mlkit/mono-vectors.sml 2006-12-01 09:50:48 UTC (rev 4892) @@ -1,7 +1,7 @@ (* Copyright (C) 2006 SSH Communications Security, Helsinki, Finland * - * MLton is released under a BSD-style license. - * See the file MLton-LICENSE for details. + * This code is released under the MLton license, a BSD-style license. + * See the LICENSE file or http://mlton.org/License for details. *) (** == Extended {MONO_VECTOR} modules for MLKit == *) Modified: mltonlib/trunk/com/ssh/extended-basis/unstable/detail/mlkit/reals.sml =================================================================== --- mltonlib/trunk/com/ssh/extended-basis/unstable/detail/mlkit/reals.sml 2006-12-01 08:29:34 UTC (rev 4891) +++ mltonlib/trunk/com/ssh/extended-basis/unstable/detail/mlkit/reals.sml 2006-12-01 09:50:48 UTC (rev 4892) @@ -1,7 +1,7 @@ (* Copyright (C) 2006 SSH Communications Security, Helsinki, Finland * - * MLton is released under a BSD-style license. - * See the file MLton-LICENSE for details. + * This code is released under the MLton license, a BSD-style license. + * See the LICENSE file or http://mlton.org/License for details. *) (** == Extended {REAL} modules for MLKit == *) Modified: mltonlib/trunk/com/ssh/extended-basis/unstable/detail/mlkit/texts.sml =================================================================== --- mltonlib/trunk/com/ssh/extended-basis/unstable/detail/mlkit/texts.sml 2006-12-01 08:29:34 UTC (rev 4891) +++ mltonlib/trunk/com/ssh/extended-basis/unstable/detail/mlkit/texts.sml 2006-12-01 09:50:48 UTC (rev 4892) @@ -1,7 +1,7 @@ (* Copyright (C) 2006 SSH Communications Security, Helsinki, Finland * - * MLton is released under a BSD-style license. - * See the file MLton-LICENSE for details. + * This code is released under the MLton license, a BSD-style license. + * See the LICENSE file or http://mlton.org/License for details. *) (** == Extended {TEXT} modules for MLKit == *) Modified: mltonlib/trunk/com/ssh/extended-basis/unstable/detail/mlkit/words.sml =================================================================== --- mltonlib/trunk/com/ssh/extended-basis/unstable/detail/mlkit/words.sml 2006-12-01 08:29:34 UTC (rev 4891) +++ mltonlib/trunk/com/ssh/extended-basis/unstable/detail/mlkit/words.sml 2006-12-01 09:50:48 UTC (rev 4892) @@ -1,7 +1,7 @@ (* Copyright (C) 2006 SSH Communications Security, Helsinki, Finland * - * MLton is released under a BSD-style license. - * See the file MLton-LICENSE for details. + * This code is released under the MLton license, a BSD-style license. + * See the LICENSE file or http://mlton.org/License for details. *) (** == Extended {WORD} modules for MLKit == *) Modified: mltonlib/trunk/com/ssh/extended-basis/unstable/detail/mlkit/workarounds/ieee-real.sig =================================================================== --- mltonlib/trunk/com/ssh/extended-basis/unstable/detail/mlkit/workarounds/ieee-real.sig 2006-12-01 08:29:34 UTC (rev 4891) +++ mltonlib/trunk/com/ssh/extended-basis/unstable/detail/mlkit/workarounds/ieee-real.sig 2006-12-01 09:50:48 UTC (rev 4892) @@ -1,7 +1,7 @@ (* Copyright (C) 2006 SSH Communications Security, Helsinki, Finland * - * MLton is released under a BSD-style license. - * See the file MLton-LICENSE for details. + * This code is released under the MLton license, a BSD-style license. + * See the LICENSE file or http://mlton.org/License for details. *) signature IEEE_REAL = sig Modified: mltonlib/trunk/com/ssh/extended-basis/unstable/detail/mlkit/workarounds/ieee-real.sml =================================================================== --- mltonlib/trunk/com/ssh/extended-basis/unstable/detail/mlkit/workarounds/ieee-real.sml 2006-12-01 08:29:34 UTC (rev 4891) +++ mltonlib/trunk/com/ssh/extended-basis/unstable/detail/mlkit/workarounds/ieee-real.sml 2006-12-01 09:50:48 UTC (rev 4892) @@ -1,7 +1,7 @@ (* Copyright (C) 2006 SSH Communications Security, Helsinki, Finland * - * MLton is released under a BSD-style license. - * See the file MLton-LICENSE for details. + * This code is released under the MLton license, a BSD-style license. + * See the LICENSE file or http://mlton.org/License for details. *) structure IEEEReal : IEEE_REAL = struct Modified: mltonlib/trunk/com/ssh/extended-basis/unstable/detail/mlkit/workarounds/mk-real-sane.fun =================================================================== --- mltonlib/trunk/com/ssh/extended-basis/unstable/detail/mlkit/workarounds/mk-real-sane.fun 2006-12-01 08:29:34 UTC (rev 4891) +++ mltonlib/trunk/com/ssh/extended-basis/unstable/detail/mlkit/workarounds/mk-real-sane.fun 2006-12-01 09:50:48 UTC (rev 4892) @@ -1,7 +1,7 @@ (* Copyright (C) 2006 SSH Communications Security, Helsinki, Finland * - * MLton is released under a BSD-style license. - * See the file MLton-LICENSE for details. + * This code is released under the MLton license, a BSD-style license. + * See the LICENSE file or http://mlton.org/License for details. *) functor MkRealSane (R : REAL) = struct Modified: mltonlib/trunk/com/ssh/extended-basis/unstable/detail/mlkit/workarounds/real.sig =================================================================== --- mltonlib/trunk/com/ssh/extended-basis/unstable/detail/mlkit/workarounds/real.sig 2006-12-01 08:29:34 UTC (rev 4891) +++ mltonlib/trunk/com/ssh/extended-basis/unstable/detail/mlkit/workarounds/real.sig 2006-12-01 09:50:48 UTC (rev 4892) @@ -1,7 +1,7 @@ (* Copyright (C) 2006 SSH Communications Security, Helsinki, Finland * - * MLton is released under a BSD-style license. - * See the file MLton-LICENSE for details. + * This code is released under the MLton license, a BSD-style license. + * See the LICENSE file or http://mlton.org/License for details. *) signature REAL = sig Modified: mltonlib/trunk/com/ssh/extended-basis/unstable/detail/mlkit/workarounds/reals.sml =================================================================== --- mltonlib/trunk/com/ssh/extended-basis/unstable/detail/mlkit/workarounds/reals.sml 2006-12-01 08:29:34 UTC (rev 4891) +++ mltonlib/trunk/com/ssh/extended-basis/unstable/detail/mlkit/workarounds/reals.sml 2006-12-01 09:50:48 UTC (rev 4892) @@ -1,7 +1,7 @@ (* Copyright (C) 2006 SSH Communications Security, Helsinki, Finland * - * MLton is released under a BSD-style license. - * See the file MLton-LICENSE for details. + * This code is released under the MLton license, a BSD-style license. + * See the LICENSE file or http://mlton.org/License for details. *) structure Real : REAL = MkRealSane (Real) Modified: mltonlib/trunk/com/ssh/extended-basis/unstable/detail/mlkit/workarounds.mlb =================================================================== --- mltonlib/trunk/com/ssh/extended-basis/unstable/detail/mlkit/workarounds.mlb 2006-12-01 08:29:34 UTC (rev 4891) +++ mltonlib/trunk/com/ssh/extended-basis/unstable/detail/mlkit/workarounds.mlb 2006-12-01 09:50:48 UTC (rev 4892) @@ -1,7 +1,7 @@ (* Copyright (C) 2006 SSH Communications Security, Helsinki, Finland * - * MLton is released under a BSD-style license. - * See the file MLton-LICENSE for details. + * This code is released under the MLton license, a BSD-style license. + * See the LICENSE file or http://mlton.org/License for details. *) local Modified: mltonlib/trunk/com/ssh/extended-basis/unstable/detail/mlton/ext.sml =================================================================== --- mltonlib/trunk/com/ssh/extended-basis/unstable/detail/mlton/ext.sml 2006-12-01 08:29:34 UTC (rev 4891) +++ mltonlib/trunk/com/ssh/extended-basis/unstable/detail/mlton/ext.sml 2006-12-01 09:50:48 UTC (rev 4892) @@ -1,7 +1,7 @@ (* Copyright (C) 2006 SSH Communications Security, Helsinki, Finland * - * MLton is released under a BSD-style license. - * See the file MLton-LICENSE for details. + * This code is released under the MLton license, a BSD-style license. + * See the LICENSE file or http://mlton.org/License for details. *) structure Ext = struct Modified: mltonlib/trunk/com/ssh/extended-basis/unstable/detail/mlton/extensions.mlb =================================================================== --- mltonlib/trunk/com/ssh/extended-basis/unstable/detail/mlton/extensions.mlb 2006-12-01 08:29:34 UTC (rev 4891) +++ mltonlib/trunk/com/ssh/extended-basis/unstable/detail/mlton/extensions.mlb 2006-12-01 09:50:48 UTC (rev 4892) @@ -1,7 +1,7 @@ (* Copyright (C) 2006 SSH Communications Security, Helsinki, Finland * - * MLton is released under a BSD-style license. - * See the file MLton-LICENSE for details. + * This code is released under the MLton license, a BSD-style license. + * See the LICENSE file or http://mlton.org/License for details. *) local Modified: mltonlib/trunk/com/ssh/extended-basis/unstable/detail/mlton/ints.sml =================================================================== --- mltonlib/trunk/com/ssh/extended-basis/unstable/detail/mlton/ints.sml 2006-12-01 08:29:34 UTC (rev 4891) +++ mltonlib/trunk/com/ssh/extended-basis/unstable/detail/mlton/ints.sml 2006-12-01 09:50:48 UTC (rev 4892) @@ -1,7 +1,7 @@ (* Copyright (C) 2006 SSH Communications Security, Helsinki, Finland * - * MLton is released under a BSD-style license. - * See the file MLton-LICENSE for details. + * This code is released under the MLton license, a BSD-style license. + * See the LICENSE file or http://mlton.org/License for details. *) (** == Extended {INTEGER} and {INT_INF} modules for MLton == *) Modified: mltonlib/trunk/com/ssh/extended-basis/unstable/detail/mlton/mono-array-slices.sml =================================================================== --- mltonlib/trunk/com/ssh/extended-basis/unstable/detail/mlton/mono-array-slices.sml 2006-12-01 08:29:34 UTC (rev 4891) +++ mltonlib/trunk/com/ssh/extended-basis/unstable/detail/mlton/mono-array-slices.sml 2006-12-01 09:50:48 UTC (rev 4892) @@ -1,7 +1,7 @@ (* Copyright (C) 2006 SSH Communications Security, Helsinki, Finland * - * MLton is released under a BSD-style license. - * See the file MLton-LICENSE for details. + * This code is released under the MLton license, a BSD-style license. + * See the LICENSE file or http://mlton.org/License for details. *) (** == Extended {MONO_ARRAY_SLICE} modules for MLton == *) Modified: mltonlib/trunk/com/ssh/extended-basis/unstable/detail/mlton/mono-arrays.sml =================================================================== --- mltonlib/trunk/com/ssh/extended-basis/unstable/detail/mlton/mono-arrays.sml 2006-12-01 08:29:34 UTC (rev 4891) +++ mltonlib/trunk/com/ssh/extended-basis/unstable/detail/mlton/mono-arrays.sml 2006-12-01 09:50:48 UTC (rev 4892) @@ -1,7 +1,7 @@ (* Copyright (C) 2006 SSH Communications Security, Helsinki, Finland * - * MLton is released under a BSD-style license. - * See the file MLton-LICENSE for details. + * This code is released under the MLton license, a BSD-style license. + * See the LICENSE file or http://mlton.org/License for details. *) (** == Extended {MONO_ARRAY} modules for MLton == *) Modified: mltonlib/trunk/com/ssh/extended-basis/unstable/detail/mlton/mono-vector-slices.sml =================================================================== --- mltonlib/trunk/com/ssh/extended-basis/unstable/detail/mlton/mono-vector-slices.sml 2006-12-01 08:29:34 UTC (rev 4891) +++ mltonlib/trunk/com/ssh/extended-basis/unstable/detail/mlton/mono-vector-slices.sml 2006-12-01 09:50:48 UTC (rev 4892) @@ -1,7 +1,7 @@ (* Copyright (C) 2006 SSH Communications Security, Helsinki, Finland * - * MLton is released under a BSD-style license. - * See the file MLton-LICENSE for details. + * This code is released under the MLton license, a BSD-style license. + * See the LICENSE file or http://mlton.org/License for details. *) (** == Extended {MONO_VECTOR_SLICE} modules for MLton == *) Modified: mltonlib/trunk/com/ssh/extended-basis/unstable/detail/mlton/mono-vectors.sml =================================================================== --- mltonlib/trunk/com/ssh/extended-basis/unstable/detail/mlton/mono-vectors.sml 2006-12-01 08:29:34 UTC (rev 4891) +++ mltonlib/trunk/com/ssh/extended-basis/unstable/detail/mlton/mono-vectors.sml 2006-12-01 09:50:48 UTC (rev 4892) @@ -1,7 +1,7 @@ (* Copyright (C) 2006 SSH Communications Security, Helsinki, Finland * - * MLton is released under a BSD-style license. - * See the file MLton-LICENSE for details. + * This code is released under the MLton license, a BSD-style license. + * See the LICENSE file or http://mlton.org/License for details. *) (** == Extended {MONO_VECTOR} modules for MLton == *) Modified: mltonlib/trunk/com/ssh/extended-basis/unstable/detail/mlton/reals.sml =================================================================== --- mltonlib/trunk/com/ssh/extended-basis/unstable/detail/mlton/reals.sml 2006-12-01 08:29:34 UTC (rev 4891) +++ mltonlib/trunk/com/ssh/extended-basis/unstable/detail/mlton/reals.sml 2006-12-01 09:50:48 UTC (rev 4892) @@ -1,7 +1,7 @@ (* Copyright (C) 2006 SSH Communications Security, Helsinki, Finland * - * MLton is released under a BSD-style license. - * See the file MLton-LICENSE for details. + * This code is released under the MLton license, a BSD-style license. + * See the LICENSE file or http://mlton.org/License for details. *) (** == Extended {REAL} modules for MLton == *) Modified: mltonlib/trunk/com/ssh/extended-basis/unstable/detail/mlton/texts.sml =================================================================== --- mltonlib/trunk/com/ssh/extended-basis/unstable/detail/mlton/texts.sml 2006-12-01 08:29:34 UTC (rev 4891) +++ mltonlib/trunk/com/ssh/extended-basis/unstable/detail/mlton/texts.sml 2006-12-01 09:50:48 UTC (rev 4892) @@ -1,7 +1,7 @@ (* Copyright (C) 2006 SSH Communications Security, Helsinki, Finland * - * MLton is released under a BSD-style license. - * See the file MLton-LICENSE for details. + * This code is released under the MLton license, a BSD-style license. + * See the LICENSE file or http://mlton.org/License for details. *) (** == Extended {TEXT} modules for MLton == *) Modified: mltonlib/trunk/com/ssh/extended-basis/unstable/detail/mlton/words.sml =================================================================== --- mltonlib/trunk/com/ssh/extended-basis/unstable/detail/mlton/words.sml 2006-12-01 08:29:34 UTC (rev 4891) +++ mltonlib/trunk/com/ssh/extended-basis/unstable/detail/mlton/words.sml 2006-12-01 09:50:48 UTC (rev 4892) @@ -1,7 +1,7 @@ (* Copyright (C) 2006 SSH Communications Security, Helsinki, Finland * - * MLton is released under a BSD-style license. - * See the file MLton-LICENSE for details. + * This code is released under the MLton license, a BSD-style license. + * See the LICENSE file or http://mlton.org/License for details. *) (** == Extended {WORD} modules for MLton == *) Modified: mltonlib/trunk/com/ssh/extended-basis/unstable/detail/mlton/workarounds.mlb =================================================================== --- mltonlib/trunk/com/ssh/extended-basis/unstable/detail/mlton/workarounds.mlb 2006-12-01 08:29:34 UTC (rev 4891) +++ mltonlib/trunk/com/ssh/extended-basis/unstable/detail/mlton/workarounds.mlb 2006-12-01 09:50:48 UTC (rev 4892) @@ -1,7 +1,7 @@ (* Copyright (C) 2006 SSH Communications Security, Helsinki, Finland * - * MLton is released under a BSD-style license. - * See the file MLton-LICENSE for details. + * This code is released under the MLton license, a BSD-style license. + * See the LICENSE file or http://mlton.org/License for details. *) (* Empty file; No workarounds needed for MLton. *) Modified: mltonlib/trunk/com/ssh/extended-basis/unstable/detail/option.sml =================================================================== --- mltonlib/trunk/com/ssh/extended-basis/unstable/detail/option.sml 2006-12-01 08:29:34 UTC (rev 4891) +++ mltonlib/trunk/com/ssh/extended-basis/unstable/detail/option.sml 2006-12-01 09:50:48 UTC (rev 4892) @@ -1,7 +1,7 @@ (* Copyright (C) 2006 SSH Communications Security, Helsinki, Finland * - * MLton is released under a BSD-style license. - * See the file MLton-LICENSE for details. + * This code is released under the MLton license, a BSD-style license. + * See the LICENSE file or http://mlton.org/License for details. *) structure Option : OPTION = struct Modified: mltonlib/trunk/com/ssh/extended-basis/unstable/detail/order.sml =================================================================== --- mltonlib/trunk/com/ssh/extended-basis/unstable/detail/order.sml 2006-12-01 08:29:34 UTC (rev 4891) +++ mltonlib/trunk/com/ssh/extended-basis/unstable/detail/order.sml 2006-12-01 09:50:48 UTC (rev 4892) @@ -1,7 +1,7 @@ (* Copyright (C) 2006 SSH Communications Security, Helsinki, Finland * - * MLton is released under a BSD-style license. - * See the file MLton-LICENSE for details. + * This code is released under the MLton license, a BSD-style license. + * See the LICENSE file or http://mlton.org/License for details. *) structure Order :> ORDER = struct Modified: mltonlib/trunk/com/ssh/extended-basis/unstable/detail/pair.sml =================================================================== --- mltonlib/trunk/com/ssh/extended-basis/unstable/detail/pair.sml 2006-12-01 08:29:34 UTC (rev 4891) +++ mltonlib/trunk/com/ssh/extended-basis/unstable/detail/pair.sml 2006-12-01 09:50:48 UTC (rev 4892) @@ -1,7 +1,7 @@ (* Copyright (C) 2006 SSH Communications Security, Helsinki, Finland * - * MLton is released under a BSD-style license. - * See the file MLton-LICENSE for details. + * This code is released under the MLton license, a BSD-style license. + * See the LICENSE file or http://mlton.org/License for details. *) structure Pair : PAIR = struct Modified: mltonlib/trunk/com/ssh/extended-basis/unstable/detail/polyml/extensions.use =================================================================== --- mltonlib/trunk/com/ssh/extended-basis/unstable/detail/polyml/extensions.use 2006-12-01 08:29:34 UTC (rev 4891) +++ mltonlib/trunk/com/ssh/extended-basis/unstable/detail/polyml/extensions.use 2006-12-01 09:50:48 UTC (rev 4892) @@ -1,7 +1,7 @@ (* Copyright (C) 2006 SSH Com... [truncated message content] |
|
From: Vesa K. <ve...@ml...> - 2006-12-01 00:29:35
|
Updated use files.
----------------------------------------------------------------------
A mltonlib/trunk/com/ssh/extended-basis/unstable/detail/polyml/extensions.use
U mltonlib/trunk/com/ssh/extended-basis/unstable/detail/polyml/forget.use
A mltonlib/trunk/com/ssh/extended-basis/unstable/detail/smlnj/extensions.use
U mltonlib/trunk/com/ssh/extended-basis/unstable/extensions.use
----------------------------------------------------------------------
Added: mltonlib/trunk/com/ssh/extended-basis/unstable/detail/polyml/extensions.use
===================================================================
--- mltonlib/trunk/com/ssh/extended-basis/unstable/detail/polyml/extensions.use 2006-12-01 04:35:07 UTC (rev 4890)
+++ mltonlib/trunk/com/ssh/extended-basis/unstable/detail/polyml/extensions.use 2006-12-01 08:29:34 UTC (rev 4891)
@@ -0,0 +1,9 @@
+(* Copyright (C) 2006 SSH Communications Security, Helsinki, Finland
+ *
+ * MLton is released under a BSD-style license.
+ * See the file MLton-LICENSE for details.
+ *)
+
+val () =
+ app use
+ ["detail/ext.sml"]
Modified: mltonlib/trunk/com/ssh/extended-basis/unstable/detail/polyml/forget.use
===================================================================
--- mltonlib/trunk/com/ssh/extended-basis/unstable/detail/polyml/forget.use 2006-12-01 04:35:07 UTC (rev 4890)
+++ mltonlib/trunk/com/ssh/extended-basis/unstable/detail/polyml/forget.use 2006-12-01 08:29:34 UTC (rev 4891)
@@ -5,15 +5,17 @@
*)
val () =
- app PolyML.Compiler.forgetFunctor
- ["MkIntInfExt",
- "MkIntegerExt",
- "MkRealExt",
- "MkWordExt",
- "MkSeqCommonExt",
- "MkMonoSeqCommonExt",
- "MkMonoVectorExt",
- "MkMonoVectorSliceExt",
- "MkMonoArrayExt",
- "MkMonoArraySliceExt",
- "MkTextExt"]
+ (app PolyML.Compiler.forgetFunctor
+ ["MkIntInfExt",
+ "MkIntegerExt",
+ "MkRealExt",
+ "MkWordExt",
+ "MkSeqCommonExt",
+ "MkMonoSeqCommonExt",
+ "MkMonoVectorExt",
+ "MkMonoVectorSliceExt",
+ "MkMonoArrayExt",
+ "MkMonoArraySliceExt",
+ "MkTextExt"]
+ ; app PolyML.Compiler.forgetStructure
+ ["Ext"])
Added: mltonlib/trunk/com/ssh/extended-basis/unstable/detail/smlnj/extensions.use
===================================================================
--- mltonlib/trunk/com/ssh/extended-basis/unstable/detail/smlnj/extensions.use 2006-12-01 04:35:07 UTC (rev 4890)
+++ mltonlib/trunk/com/ssh/extended-basis/unstable/detail/smlnj/extensions.use 2006-12-01 08:29:34 UTC (rev 4891)
@@ -0,0 +1,9 @@
+(* Copyright (C) 2006 SSH Communications Security, Helsinki, Finland
+ *
+ * MLton is released under a BSD-style license.
+ * See the file MLton-LICENSE for details.
+ *)
+
+val () =
+ app use
+ ["detail/smlnj/ext.sml"]
Modified: mltonlib/trunk/com/ssh/extended-basis/unstable/extensions.use
===================================================================
--- mltonlib/trunk/com/ssh/extended-basis/unstable/extensions.use 2006-12-01 04:35:07 UTC (rev 4890)
+++ mltonlib/trunk/com/ssh/extended-basis/unstable/extensions.use 2006-12-01 08:29:34 UTC (rev 4891)
@@ -4,82 +4,91 @@
* See the file MLton-LICENSE for details.
*)
-local
+val () = let
val compiler =
case OS.Process.getEnv "SML_COMPILER" of
SOME c => c
| NONE => raise Fail "The SML_COMPILER env var isn't defined"
in
- val () =
- app use
- [(* NOTE: Order matters. *)
-
- (* Workarounds (if any) *)
- "detail/"^compiler^"/workarounds.use",
-
- (* New {Iso :> ISO} and {Emb :> EMB} modules *)
- "public/emb.sig",
- "detail/emb.sml",
- "public/iso.sig",
- "detail/iso.sml",
-
- (* Extension functors *)
- "detail/mk-integer-ext.fun",
- "detail/mk-int-inf-ext.fun",
- "detail/mk-real-ext.fun",
- "detail/mk-word-ext.fun",
- "detail/mk-seq-common-ext.fun",
- "detail/mk-mono-seq-common-ext.fun",
- "detail/mk-mono-vector-ext.fun",
- "detail/mk-mono-vector-slice-ext.fun",
- "detail/mk-mono-array-ext.fun",
- "detail/mk-mono-array-slice-ext.fun",
- "detail/mk-text-ext.fun",
-
- (* Extended signatures *)
- "public/bool.sig",
- "public/option.sig",
- "public/int-inf.sig",
- "public/integer.sig",
- "public/real.sig",
- "public/word.sig",
- "public/list.sig",
- "public/vector.sig",
- "public/vector-slice.sig",
- "public/array.sig",
- "public/array-slice.sig",
- "public/mono-vector.sig",
- "public/mono-vector-slice.sig",
- "public/mono-array.sig",
- "public/mono-array-slice.sig",
- "public/char.sig",
- "public/string.sig",
- "public/substring.sig",
- "public/text.sig",
-
- (* Extended modules *)
- "detail/bool.sml",
- "detail/option.sml",
- "detail/list.sml",
- "detail/vector.sml",
- "detail/vector-slice.sml",
- "detail/array.sml",
- "detail/array-slice.sml",
- "detail/common.sml",
- "detail/"^compiler^"/ints.sml",
- "detail/"^compiler^"/reals.sml",
- "detail/"^compiler^"/words.sml",
- "detail/"^compiler^"/mono-vectors.sml",
- "detail/"^compiler^"/mono-vector-slices.sml",
- "detail/"^compiler^"/mono-arrays.sml",
- "detail/"^compiler^"/mono-array-slices.sml",
- "detail/"^compiler^"/texts.sml",
-
- (* Forget implementation details (if possible) *)
- "detail/"^compiler^"/forget.use",
-
- (* Export filter *)
- "public/export-"^compiler^".sml",
- "public/export.sml",
- "public/top-level.sml"]
+ app use
+ ["detail/"^compiler^"/workarounds.use",
+ "detail/bootstrap.sml",
+ "detail/"^compiler^"/extensions.use",
+ "public/fn.sig", "detail/fn.sml",
+ "public/unit.sig",
+ "public/sq.sig", "detail/sq.sml",
+ "public/un-op.sig", "detail/un-op.sml",
+ "public/thunk.sig", "detail/thunk.sml",
+ "public/univ.sig", "detail/univ.sml",
+ "public/bin-op.sig", "detail/bin-op.sml",
+ "public/effect.sig", "detail/effect.sml",
+ "public/fix.sig", "detail/fix.sml",
+ "public/un-pr.sig", "detail/un-pr.sml",
+ "public/order.sig", "detail/order.sml",
+ "public/bin-pr.sig", "detail/bin-pr.sml",
+ "public/cmp.sig", "detail/cmp.sml",
+ "public/ref.sig", "detail/ref.sml",
+ "public/bool.sig", "detail/bool.sml",
+ "public/product-type.sig",
+ "public/pair.sig",
+ "detail/pair.sml",
+ "public/product.sig",
+ "detail/product.sml",
+ "public/sum.sig", "detail/sum.sml",
+ "public/exn.sig", "detail/exn.sml",
+ "public/emb.sig", "detail/emb.sml",
+ "public/iso.sig", "detail/iso.sml",
+ "public/tie.sig", "detail/tie.sml",
+ "detail/mk-seq-common-ext.fun",
+ "public/array.sig",
+ "detail/array.sml",
+ "public/array-slice.sig",
+ "detail/array-slice.sml",
+ "public/vector.sig",
+ "detail/vector.sml",
+ "public/vector-slice.sig",
+ "detail/vector-slice.sml",
+ "public/option.sig", "detail/option.sml",
+ "public/list.sig", "detail/list.sml",
+ "public/buffer.sig", "detail/buffer.sml",
+ "public/reader.sig", "detail/reader.sml",
+ "public/writer.sig", "detail/writer.sml",
+ "public/exit.sig", "detail/exit.sml",
+ "detail/mk-integer-ext.fun",
+ "detail/mk-int-inf-ext.fun",
+ "detail/mk-real-ext.fun",
+ "detail/mk-word-ext.fun",
+ "public/int-inf.sig",
+ "public/integer.sig",
+ "public/real.sig",
+ "public/word.sig",
+ "detail/common-scalars.sml",
+ "detail/"^compiler^"/ints.sml",
+ "detail/"^compiler^"/reals.sml",
+ "detail/"^compiler^"/words.sml",
+ "detail/mk-mono-seq-common-ext.fun",
+ "detail/mk-mono-vector-ext.fun",
+ "detail/mk-mono-vector-slice-ext.fun",
+ "detail/mk-mono-array-ext.fun",
+ "detail/mk-mono-array-slice-ext.fun",
+ "detail/mk-text-ext.fun",
+ "public/mono-vector.sig",
+ "public/mono-vector-slice.sig",
+ "public/mono-array.sig",
+ "public/mono-array-slice.sig",
+ "public/char.sig",
+ "public/string.sig",
+ "public/substring.sig",
+ "public/text.sig",
+ "detail/common-mono-seqs.sml",
+ "detail/"^compiler^"/mono-vectors.sml",
+ "detail/"^compiler^"/mono-vector-slices.sml",
+ "detail/"^compiler^"/mono-arrays.sml",
+ "detail/"^compiler^"/mono-array-slices.sml",
+ "detail/"^compiler^"/texts.sml",
+ "detail/"^compiler^"/forget.use",
+ "public/export-"^compiler^".sml",
+ "public/export.sml",
+ "public/top-level.sml",
+ "public/infixes.sml"]
end
|
|
From: Matthew F. <fl...@ml...> - 2006-11-30 20:35:11
|
Fixed a bug in elaboration of FFI forms; unary FFI types (e.g., array,
ref, vector) could be used in places where MLton.Pointer.t was
required. This would later cause the compiler to raise the TypeError
exception, along with a lot of XML IL.
----------------------------------------------------------------------
U mlton/branches/on-20050822-x86_64-branch/doc/changelog
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/elaborate/elaborate-core.fun
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
----------------------------------------------------------------------
Modified: mlton/branches/on-20050822-x86_64-branch/doc/changelog
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/changelog 2006-12-01 04:05:56 UTC (rev 4889)
+++ mlton/branches/on-20050822-x86_64-branch/doc/changelog 2006-12-01 04:35:07 UTC (rev 4890)
@@ -1,5 +1,11 @@
Here are the changes since version 20051202.
-
+
+* 2006-11-30
+ - Fixed a bug in elaboration of FFI forms; unary FFI types (e.g.,
+ array, ref, vector) could be used in places where MLton.Pointer.t was
+ required. This would later cause the compiler to raise the TypeError
+ exception, along with a lot of XML IL.
+
* 2006-08-03
- Fixed a bug in the "useless" SSA optimization, caused by calling
an imported C function and then ignoring the result.
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 2006-12-01 04:05:56 UTC (rev 4889)
+++ mlton/branches/on-20050822-x86_64-branch/mlton/ast/prim-tycons.fun 2006-12-01 04:35:07 UTC (rev 4890)
@@ -33,6 +33,7 @@
val isBool = fn c => equals (c, bool)
val isExn = fn c => equals (c, exn)
+val isPointer = fn c => equals (c, pointer)
local
fun 'a make (prefix: string,
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 2006-12-01 04:05:56 UTC (rev 4889)
+++ mlton/branches/on-20050822-x86_64-branch/mlton/ast/prim-tycons.sig 2006-12-01 04:35:07 UTC (rev 4890)
@@ -53,6 +53,7 @@
val isCharX: tycon -> bool
val isExn: tycon -> bool
val isIntX: tycon -> bool
+ val isPointer: tycon -> bool
val isRealX: tycon -> bool
val isWordX: tycon -> bool
val layoutApp:
Modified: mlton/branches/on-20050822-x86_64-branch/mlton/elaborate/elaborate-core.fun
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/mlton/elaborate/elaborate-core.fun 2006-12-01 04:05:56 UTC (rev 4889)
+++ mlton/branches/on-20050822-x86_64-branch/mlton/elaborate/elaborate-core.fun 2006-12-01 04:35:07 UTC (rev 4890)
@@ -785,9 +785,9 @@
then SOME {ctype = CType.pointer, name = "Pointer"}
else NONE
- fun toCType (t: t): {ctype: CType.t, name: string} option =
- case toNullaryCType t of
- NONE => toUnaryCType t
+ fun toCType (ty: t): {ctype: CType.t, name: string} option =
+ case toNullaryCType ty of
+ NONE => toUnaryCType ty
| SOME {ctype, name} => SOME {ctype = ctype, name = name}
val toCType =
@@ -802,46 +802,47 @@
type z = {ctype: CType.t, name: string, ty: t}
- fun parse (ty: t): (z vector * z option) option =
+ fun toCBaseType (ty: t): z option =
+ case toCType ty of
+ NONE => NONE
+ | SOME {ctype, name} =>
+ SOME {ctype = ctype, name = name, ty = ty}
+ fun toCArgType (ty: t): z vector option =
+ case deTupleOpt ty of
+ NONE =>
+ (case toCBaseType ty of
+ NONE => NONE
+ | SOME z => SOME (Vector.new1 z))
+ | SOME tys =>
+ Exn.withEscape
+ (fn esc =>
+ (SOME o Vector.map)
+ (tys, fn ty =>
+ case toCBaseType ty of
+ NONE => esc NONE
+ | SOME z => z))
+ fun toCRetType (ty: t): z option option =
+ case toCBaseType ty of
+ NONE => if Type.isUnit ty
+ then SOME NONE
+ else NONE
+ | SOME z => SOME (SOME z)
+ fun toCFunType (ty: t): (z vector * z option) option =
case deArrowOpt ty of
NONE => NONE
- | SOME (t1, t2) =>
- let
- fun finish (ts: z vector) =
- case toCType t2 of
- NONE =>
- if Type.isUnit t2
- then SOME (ts, NONE)
- else NONE
- | SOME {ctype, name} =>
- SOME (ts, SOME {ctype = ctype, name = name, ty = t2})
- in
- case deTupleOpt t1 of
- NONE =>
- (case toCType t1 of
- NONE => NONE
- | SOME {ctype, name} =>
- finish (Vector.new1 {ctype = ctype,
- name = name,
- ty = t1}))
- | SOME ts =>
- let
- val cts = Vector.map (ts, toCType)
- in
- if Vector.forall (cts, isSome)
- then
- finish (Vector.map2
- (ts, cts, fn (ty, z) =>
- let
- val {ctype, name} = valOf z
- in
- {ctype = ctype,
- name = name,
- ty = ty}
- end))
- else NONE
- end
- end
+ | SOME (arg, ret) =>
+ (case toCArgType arg of
+ NONE => NONE
+ | SOME arg =>
+ (case toCRetType ret of
+ NONE => NONE
+ | SOME ret => SOME (arg, ret)))
+ fun toCPtrType (ty: t): z option =
+ if Type.isPointer ty
+ then let val {ctype, name} = valOf (toCType ty)
+ in SOME {ctype = ctype, name = name, ty = ty}
+ end
+ else NONE
end
fun parseIEAttributes (attributes: ImportExportAttribute.t list): Convention.t option =
@@ -879,7 +880,7 @@
str "invalid type for _import",
Type.layoutPretty elabedTy)
in
- case Type.parse expandedTy of
+ case Type.toCFunType expandedTy of
NONE =>
let
val () = invalidType ()
@@ -1042,11 +1043,11 @@
Control.error
(region, str "invalid type for _address",
Type.layoutPretty elabedTy)
+ val () =
+ case Type.toCPtrType expandedTy of
+ NONE => (error (); ())
+ | SOME _ => ()
val expandedPtrTy = expandedTy
- val () =
- case Type.toCType expandedPtrTy of
- SOME {ctype = CType.Pointer, ...} => ()
- | _ => (error (); ())
val addrExp =
mkAddress {expandedPtrTy = expandedPtrTy,
name = name,
@@ -1106,9 +1107,9 @@
end
end)
val ctypeCbTy =
- case Type.toCType expandedCbTy of
- SOME {ctype, ...} => ctype
- | NONE => (error (); CType.word (WordSize.default, {signed = false}))
+ case Type.toCBaseType expandedCbTy of
+ NONE => (error (); CType.word (WordSize.default, {signed = false}))
+ | SOME {ctype, ...} => ctype
val addrExp =
mkAddress {expandedPtrTy = Type.word (WordSize.pointer ()),
name = name,
@@ -1178,13 +1179,13 @@
end)
end)
val ctypeCbTy =
- case Type.toCType expandedCbTy of
- SOME {ctype, ...} => ctype
- | NONE => (error (); CType.word (WordSize.default, {signed = false}))
+ case Type.toCBaseType expandedCbTy of
+ NONE => (error (); CType.word (WordSize.default, {signed = false}))
+ | SOME {ctype, ...} => ctype
val () =
- case Type.toCType expandedPtrTy of
- SOME {ctype = CType.Pointer, ...} => ()
- | _ => (error (); ())
+ case Type.toCPtrType expandedPtrTy of
+ NONE => (error (); ())
+ | SOME _ => ()
val ptrArg = Var.newNoname ()
val ptrExp = Cexp.var (ptrArg, expandedPtrTy)
val symExp =
@@ -1227,9 +1228,9 @@
Type.layoutPretty elabedTy)
val expandedCbTy = expandedTy
val ctypeCbTy =
- case Type.toCType expandedCbTy of
- SOME {ctype, ...} => ctype
- | NONE => (error (); CType.word (WordSize.default, {signed = false}))
+ case Type.toCBaseType expandedCbTy of
+ NONE => (error (); CType.word (WordSize.default, {signed = false}))
+ | SOME {ctype, ...} => ctype
val isBool = Type.isBool expandedCbTy
val addrExp =
mkAddress {expandedPtrTy = Type.word (WordSize.pointer ()),
@@ -1266,7 +1267,7 @@
; Convention.Cdecl)
| SOME c => c
val (exportId, args, res) =
- case Type.parse expandedTy of
+ case Type.toCFunType expandedTy of
NONE =>
(invalidType ()
; (0, Vector.new0 (), NONE))
@@ -2821,9 +2822,9 @@
| SOME (fptrTy, cfTy) => (fptrTy, cfTy)
end)
val () =
- case Type.toCType expandedFPtrTy of
- SOME {ctype = CType.Pointer, ...} => ()
- | _ => (error (); ())
+ case Type.toCPtrType expandedFPtrTy of
+ NONE => (error (); ())
+ | SOME _ => ()
val fptr = Var.newNoname ()
val fptrArg = Cexp.var (fptr, expandedFPtrTy)
in
Modified: mlton/branches/on-20050822-x86_64-branch/mlton/elaborate/type-env.fun
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/mlton/elaborate/type-env.fun 2006-12-01 04:05:56 UTC (rev 4889)
+++ mlton/branches/on-20050822-x86_64-branch/mlton/elaborate/type-env.fun 2006-12-01 04:35:07 UTC (rev 4890)
@@ -797,6 +797,11 @@
| Overload Overload.Int => true
| _ => false
+ fun isPointer t =
+ case toType t of
+ Con (c, _) => Tycon.isPointer c
+ | _ => false
+
fun isUnit t =
case toType t of
Record r =>
Modified: mlton/branches/on-20050822-x86_64-branch/mlton/elaborate/type-env.sig
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/mlton/elaborate/type-env.sig 2006-12-01 04:05:56 UTC (rev 4889)
+++ mlton/branches/on-20050822-x86_64-branch/mlton/elaborate/type-env.sig 2006-12-01 04:35:07 UTC (rev 4890)
@@ -42,6 +42,7 @@
val isCharX: t -> bool
val isExn: t -> bool
val isInt: t -> bool
+ val isPointer: t -> bool
val isUnit: t -> bool
val layout: t -> Layout.t
val layoutPretty: t -> Layout.t
|
|
From: Matthew F. <fl...@ml...> - 2006-11-30 20:06:05
|
Catching up on changelog documentation
----------------------------------------------------------------------
U mlton/trunk/doc/changelog
----------------------------------------------------------------------
Modified: mlton/trunk/doc/changelog
===================================================================
--- mlton/trunk/doc/changelog 2006-11-30 15:56:46 UTC (rev 4888)
+++ mlton/trunk/doc/changelog 2006-12-01 04:05:56 UTC (rev 4889)
@@ -1,5 +1,14 @@
Here are the changes since version 20051202.
+* 2006-11-19
+ - On *-darwin, work with GnuMP installed via Fink or MacPorts.
+
+* 2006-10-30
+ - Ported to x86-darwin.
+
+* 2006-09-23
+ - Added missing specification of find to the MONO_VECTOR signature.
+
* 2006-08-03
- Fixed a bug in the "useless" SSA optimization, caused by calling
an imported C function and then ignoring the result.
|