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: Stephen W. <sw...@ml...> - 2005-08-25 14:14:15
|
Made the install target strip mlnlffigen. ---------------------------------------------------------------------- U mlton/trunk/Makefile ---------------------------------------------------------------------- Modified: mlton/trunk/Makefile =================================================================== --- mlton/trunk/Makefile 2005-08-25 20:52:48 UTC (rev 4039) +++ mlton/trunk/Makefile 2005-08-25 21:14:12 UTC (rev 4040) @@ -392,8 +392,8 @@ darwin|solaris) \ ;; \ *) \ - for f in $(TLIB)/$(AOUT) \ - $(TBIN)/$(LEX) $(TBIN)/$(PROF) \ + for f in $(TLIB)/$(AOUT) $(TBIN)/$(LEX) \ + $(TBIN)/$(NLFFIGEN) $(TBIN)/$(PROF) \ $(TBIN)/$(YACC); do \ strip --remove-section=.comment \ --remove-section=.note $$f; \ |
|
From: Stephen W. <sw...@ml...> - 2005-08-25 13:52:54
|
Fixed bug in MLton.Finalizable.touch, which was not keeping alive
finalizable values in all cases.
Added a regression with the code that caused the problem.
----------------------------------------------------------------------
U mlton/trunk/doc/changelog
U mlton/trunk/mlton/backend/backend.fun
U mlton/trunk/mlton/backend/ssa-to-rssa.fun
A mlton/trunk/regression/finalize.3.ok
A mlton/trunk/regression/finalize.3.sml
----------------------------------------------------------------------
Modified: mlton/trunk/doc/changelog
===================================================================
--- mlton/trunk/doc/changelog 2005-08-25 20:49:47 UTC (rev 4038)
+++ mlton/trunk/doc/changelog 2005-08-25 20:52:48 UTC (rev 4039)
@@ -1,5 +1,9 @@
Here are the changes since version 20041109.
+* 2005-08-25
+ - Fixed bug in MLton.Finalizable.touch, which was not keeping alive
+ finalizable values in all cases.
+
* 2005-08-18
- Added SML/NJ Library and CKit Library from SML/NJ 110.55 to
standard distribution.
Modified: mlton/trunk/mlton/backend/backend.fun
===================================================================
--- mlton/trunk/mlton/backend/backend.fun 2005-08-25 20:49:47 UTC (rev 4038)
+++ mlton/trunk/mlton/backend/backend.fun 2005-08-25 20:52:48 UTC (rev 4039)
@@ -156,7 +156,7 @@
Regexp.Compiled.matchesAll (re, name))
then program
else pass (name, doit, program)
- val program = pass ("ToRssa", SsaToRssa.convert, (program, codegen))
+ val program = pass ("toRssa", SsaToRssa.convert, (program, codegen))
fun rssaSimplify program =
let
val program =
@@ -531,11 +531,18 @@
header = header,
size = size}
| PrimApp {dst, prim, args} =>
- Vector.new1
- (M.Statement.PrimApp
- {args = translateOperands args,
- dst = Option.map (dst, varOperand o #1),
- prim = prim})
+ let
+ datatype z = datatype Prim.Name.t
+ in
+ case Prim.name prim of
+ MLton_touch => Vector.new0 ()
+ | _ =>
+ Vector.new1
+ (M.Statement.PrimApp
+ {args = translateOperands args,
+ dst = Option.map (dst, varOperand o #1),
+ prim = prim})
+ end
| ProfileLabel s => Vector.new1 (M.Statement.ProfileLabel s)
| SetExnStackLocal =>
(* ExnStack = stackTop + (offset + WORD_SIZE) - StackBottom; *)
Modified: mlton/trunk/mlton/backend/ssa-to-rssa.fun
===================================================================
--- mlton/trunk/mlton/backend/ssa-to-rssa.fun 2005-08-25 20:49:47 UTC (rev 4038)
+++ mlton/trunk/mlton/backend/ssa-to-rssa.fun 2005-08-25 20:52:48 UTC (rev 4039)
@@ -1189,8 +1189,8 @@
| MLton_size =>
simpleCCall
(CFunction.size (Operand.ty (a 0)))
- | MLton_touch => none ()
| Pointer_getPointer => pointerGet ()
+ | MLton_touch => primApp prim
| Pointer_getReal _ => pointerGet ()
| Pointer_getWord _ => pointerGet ()
| Pointer_setPointer => pointerSet ()
Added: mlton/trunk/regression/finalize.3.ok
===================================================================
--- mlton/trunk/regression/finalize.3.ok 2005-08-25 20:49:47 UTC (rev 4038)
+++ mlton/trunk/regression/finalize.3.ok 2005-08-25 20:52:48 UTC (rev 4039)
@@ -0,0 +1,7 @@
+before test 4
+before GC 4a
+after GC 4a
+invoking touch
+before GC 4b
+test 4: finalizer
+after GC 4b
Added: mlton/trunk/regression/finalize.3.sml
===================================================================
--- mlton/trunk/regression/finalize.3.sml 2005-08-25 20:49:47 UTC (rev 4038)
+++ mlton/trunk/regression/finalize.3.sml 2005-08-25 20:52:48 UTC (rev 4039)
@@ -0,0 +1,17 @@
+fun test2 (str : string) =
+ let open MLton.Finalizable
+ val x = new str
+ in addFinalizer (x, fn s => print (s ^ ": finalizer\n"));
+ (fn () => (print "invoking touch\n"; touch x))
+ end
+
+val _ = (print "before test 4\n";
+ let val t = test2 "test 4"
+ in print "before GC 4a\n";
+ MLton.GC.collect ();
+ print "after GC 4a\n";
+ t ();
+ print "before GC 4b\n";
+ MLton.GC.collect ();
+ print "after GC 4b\n"
+ end)
|
|
From: Stephen W. <sw...@ml...> - 2005-08-25 13:49:50
|
Made new debian package with mlton-script fix. ---------------------------------------------------------------------- U mlton/trunk/package/debian/changelog ---------------------------------------------------------------------- Modified: mlton/trunk/package/debian/changelog =================================================================== --- mlton/trunk/package/debian/changelog 2005-08-25 20:31:12 UTC (rev 4037) +++ mlton/trunk/package/debian/changelog 2005-08-25 20:49:47 UTC (rev 4038) @@ -1,3 +1,11 @@ +mlton (20050825-2) unstable; urgency=low + + * new upstream version + * Fixed broken $lib in mlton script. The previous package didn't + work at all. + + -- Stephen Weeks <sw...@sw...> Thu, 25 Aug 2005 13:33:41 -0700 + mlton (20050825-1) unstable; urgency=low * new upstream version |
|
From: Stephen W. <sw...@ml...> - 2005-08-25 13:31:14
|
Fixed the install target's installation of the MLton script, which was mistakenly not setting $lib. ---------------------------------------------------------------------- U mlton/trunk/Makefile ---------------------------------------------------------------------- Modified: mlton/trunk/Makefile =================================================================== --- mlton/trunk/Makefile 2005-08-25 15:21:48 UTC (rev 4036) +++ mlton/trunk/Makefile 2005-08-25 20:31:12 UTC (rev 4037) @@ -289,9 +289,7 @@ .PHONY: script script: - @echo 'Setting lib in mlton script.' - sed "/^lib=/s;'.*';\"\`dirname \$$0\`/../lib\";" \ - <bin/mlton-script >$(MLTON) + $(CP) bin/mlton-script $(MLTON) chmod a+x $(MLTON) $(CP) $(SRC)/bin/platform $(LIB) @@ -369,19 +367,26 @@ .PHONY: install install: install-docs install-no-docs +MAN_PAGES = \ + mllex.1 \ + mlnlffigen.1 \ + mlprof.1 \ + mlton.1 \ + mlyacc.1 + .PHONY: install-no-docs install-no-docs: mkdir -p $(TLIB) $(TBIN) $(TMAN) $(CP) $(LIB)/. $(TLIB)/ rm -f $(TLIB)/self/libmlton-gdb.a - sed "/^lib=/s;'.*';'$(prefix)/$(ULIB)';" \ + sed "/^lib=/s;.*;lib='$(prefix)/$(ULIB)';" \ <$(SRC)/bin/mlton-script >$(TBIN)/mlton chmod a+x $(TBIN)/mlton cd $(BIN) && $(CP) $(LEX) $(NLFFIGEN) $(PROF) $(YACC) $(TBIN)/ - ( cd $(SRC)/man && tar cf - mllex.1 mlnlffigen.1 mlprof.1 mlton.1 mlyacc.1 ) | \ + ( cd $(SRC)/man && tar cf - $(MAN_PAGES)) | \ ( cd $(TMAN)/ && tar xf - ) if $(GZIP_MAN); then \ - cd $(TMAN) && $(GZIP) mllex.1 mlnlffigen.1 mlprof.1 mlton.1 mlyacc.1; \ + cd $(TMAN) && $(GZIP) $(MAN_PAGES); \ fi case "$(TARGET_OS)" in \ darwin|solaris) \ |
|
From: Stephen W. <sw...@ml...> - 2005-08-25 08:21:50
|
Made Debian package that links statically with libgmp. ---------------------------------------------------------------------- U mlton/trunk/package/debian/changelog ---------------------------------------------------------------------- Modified: mlton/trunk/package/debian/changelog =================================================================== --- mlton/trunk/package/debian/changelog 2005-08-25 15:13:22 UTC (rev 4035) +++ mlton/trunk/package/debian/changelog 2005-08-25 15:21:48 UTC (rev 4036) @@ -1,3 +1,10 @@ +mlton (20050825-1) unstable; urgency=low + + * new upstream version + * don't build statically, just link statically with libgmp.a + + -- Stephen Weeks <sw...@sw...> Thu, 25 Aug 2005 06:14:06 -0700 + mlton (20050824-1) unstable; urgency=low * new upstream version |
|
From: Matthew F. <fl...@ml...> - 2005-08-25 08:13:24
|
A (stub) mlnlffigen man page ---------------------------------------------------------------------- U mlton/trunk/Makefile A mlton/trunk/man/mlnlffigen.1 ---------------------------------------------------------------------- Modified: mlton/trunk/Makefile =================================================================== --- mlton/trunk/Makefile 2005-08-25 15:12:18 UTC (rev 4034) +++ mlton/trunk/Makefile 2005-08-25 15:13:22 UTC (rev 4035) @@ -378,11 +378,10 @@ <$(SRC)/bin/mlton-script >$(TBIN)/mlton chmod a+x $(TBIN)/mlton cd $(BIN) && $(CP) $(LEX) $(NLFFIGEN) $(PROF) $(YACC) $(TBIN)/ - ( cd $(SRC)/man && tar cf - mllex.1 mlprof.1 mlton.1 mlyacc.1 ) | \ + ( cd $(SRC)/man && tar cf - mllex.1 mlnlffigen.1 mlprof.1 mlton.1 mlyacc.1 ) | \ ( cd $(TMAN)/ && tar xf - ) if $(GZIP_MAN); then \ - cd $(TMAN) && $(GZIP) mllex.1 mlprof.1 mlton.1 \ - mlyacc.1; \ + cd $(TMAN) && $(GZIP) mllex.1 mlnlffigen.1 mlprof.1 mlton.1 mlyacc.1; \ fi case "$(TARGET_OS)" in \ darwin|solaris) \ Added: mlton/trunk/man/mlnlffigen.1 =================================================================== --- mlton/trunk/man/mlnlffigen.1 2005-08-25 15:12:18 UTC (rev 4034) +++ mlton/trunk/man/mlnlffigen.1 2005-08-25 15:13:22 UTC (rev 4035) @@ -0,0 +1,13 @@ +.TH mlnlffigen 1 "August 1, 2005" +.SH NAME +\fBmlnlffigen\fP \- glue-code generator for use with the new "NLFFI" foreign function interface for Standard ML and MLton +.SH SYNOPSIS +\fBmlnlffigen [option ...] C-file ...\fR +.SH DESCRIPTION +.PP +\fBmlnlffigen\fP takes as input a C source file and produces as output in \fBNLFFI-Generated\fP +the glue-code for Standard ML and in \fBNLFFI-Generated\\nlffi-generated.mlb\fP a ML Basis system file. + +.SH "SEE ALSO" + +.BR mlton (1) |
|
From: Matthew F. <fl...@ml...> - 2005-08-25 08:12:20
|
Don't include platform reference in generated .mlb file
----------------------------------------------------------------------
U mlton/trunk/mlnlffigen/gen.sml
----------------------------------------------------------------------
Modified: mlton/trunk/mlnlffigen/gen.sml
===================================================================
--- mlton/trunk/mlnlffigen/gen.sml 2005-08-25 14:46:30 UTC (rev 4033)
+++ mlton/trunk/mlnlffigen/gen.sml 2005-08-25 15:12:18 UTC (rev 4034)
@@ -1475,7 +1475,7 @@
line "local ann \"allowFFI true\" in";
VBox 4;
app line ["$(SML_LIB)/basis/basis.mlb",
- "$(SML_LIB)/mlnlffi-lib/internals/c-int."^targetName^".mlb"];
+ "$(SML_LIB)/mlnlffi-lib/internals/c-int.mlb"];
app line (rev extramembers);
app line (rev (!files));
endBox ();
|
|
From: Matthew F. <fl...@ml...> - 2005-08-25 07:46:32
|
More debian archs. ---------------------------------------------------------------------- A mlton/trunk/lib/mlnlffi/memory/platform/memory.hppa-linux.mlb ---------------------------------------------------------------------- Copied: mlton/trunk/lib/mlnlffi/memory/platform/memory.hppa-linux.mlb (from rev 4031, mlton/trunk/lib/mlnlffi/memory/platform/memory.x86-linux.mlb) |
|
From: Stephen W. <sw...@ml...> - 2005-08-25 07:41:14
|
Made install target install mlnlffigen. ---------------------------------------------------------------------- U mlton/trunk/Makefile ---------------------------------------------------------------------- Modified: mlton/trunk/Makefile =================================================================== --- mlton/trunk/Makefile 2005-08-25 12:54:10 UTC (rev 4031) +++ mlton/trunk/Makefile 2005-08-25 14:41:12 UTC (rev 4032) @@ -377,7 +377,7 @@ sed "/^lib=/s;'.*';'$(prefix)/$(ULIB)';" \ <$(SRC)/bin/mlton-script >$(TBIN)/mlton chmod a+x $(TBIN)/mlton - $(CP) $(BIN)/$(LEX) $(BIN)/$(PROF) $(BIN)/$(YACC) $(TBIN)/ + cd $(BIN) && $(CP) $(LEX) $(NLFFIGEN) $(PROF) $(YACC) $(TBIN)/ ( cd $(SRC)/man && tar cf - mllex.1 mlprof.1 mlton.1 mlyacc.1 ) | \ ( cd $(TMAN)/ && tar xf - ) if $(GZIP_MAN); then \ |
|
From: Matthew F. <fl...@ml...> - 2005-08-25 05:54:15
|
Reorganized platform dependency .mlb files for mlnlffi-lib.
New arch/os combinations should be added to
lib/mlnlffi/memory/platform/memory.ARCH-OS.mlb
I believe that all of our currently supported platforms are
effectively 32bit/unix platforms, so copying memory.x86-linux.mlb to
memory.ARCH-OS.mlb should work fine.
----------------------------------------------------------------------
U mlton/trunk/lib/mlnlffi/c.mlb
A mlton/trunk/lib/mlnlffi/internals/c-int.mlb
D mlton/trunk/lib/mlnlffi/internals/c-int.x86-unix.mlb
A mlton/trunk/lib/mlnlffi/memory/memory.32bit-unix.mlb
A mlton/trunk/lib/mlnlffi/memory/memory.mlb
D mlton/trunk/lib/mlnlffi/memory/memory.x86-unix.mlb
A mlton/trunk/lib/mlnlffi/memory/platform/
A mlton/trunk/lib/mlnlffi/memory/platform/memory.powerpc-darwin.mlb
A mlton/trunk/lib/mlnlffi/memory/platform/memory.powerpc-linux.mlb
A mlton/trunk/lib/mlnlffi/memory/platform/memory.sparc-linux.mlb
A mlton/trunk/lib/mlnlffi/memory/platform/memory.x86-linux.mlb
----------------------------------------------------------------------
Modified: mlton/trunk/lib/mlnlffi/c.mlb
===================================================================
--- mlton/trunk/lib/mlnlffi/c.mlb 2005-08-25 04:21:26 UTC (rev 4030)
+++ mlton/trunk/lib/mlnlffi/c.mlb 2005-08-25 12:54:10 UTC (rev 4031)
@@ -15,7 +15,7 @@
* author: Matthias Blume (bl...@re...)
*)
local
- internals/c-int.$(TARGET_ARCH)-$(TARGET_OS).mlb
+ internals/c-int.mlb
in
structure Tag
Copied: mlton/trunk/lib/mlnlffi/internals/c-int.mlb (from rev 4030, mlton/trunk/lib/mlnlffi/internals/c-int.x86-unix.mlb)
===================================================================
--- mlton/trunk/lib/mlnlffi/internals/c-int.x86-unix.mlb 2005-08-25 04:21:26 UTC (rev 4030)
+++ mlton/trunk/lib/mlnlffi/internals/c-int.mlb 2005-08-25 12:54:10 UTC (rev 4031)
@@ -0,0 +1,35 @@
+local
+ $(SML_LIB)/basis/basis.mlb
+
+ ../memory/memory.mlb
+
+ ../c.sig
+ ../c-debug.sig
+ c-int.sig
+ c-int.sml
+ c.sml
+ c-debug.sml
+
+ ../zstring.sig
+ zstring.sml
+ tag.sml
+in
+ structure Tag
+
+ structure MLRep
+ signature C
+ structure C
+ signature C_INT
+ structure C_Int
+ signature C_DEBUG
+ structure C_Debug
+
+ signature ZSTRING
+ structure ZString
+
+ signature DYN_LINKAGE
+ structure DynLinkage
+
+ signature CMEMORY
+ structure CMemory
+end
Deleted: mlton/trunk/lib/mlnlffi/internals/c-int.x86-unix.mlb
===================================================================
--- mlton/trunk/lib/mlnlffi/internals/c-int.x86-unix.mlb 2005-08-25 04:21:26 UTC (rev 4030)
+++ mlton/trunk/lib/mlnlffi/internals/c-int.x86-unix.mlb 2005-08-25 12:54:10 UTC (rev 4031)
@@ -1,35 +0,0 @@
-local
- $(MLTON_ROOT)/basis/basis.mlb
-
- ../memory/memory.x86-unix.mlb
-
- ../c.sig
- ../c-debug.sig
- c-int.sig
- c-int.sml
- c.sml
- c-debug.sml
-
- ../zstring.sig
- zstring.sml
- tag.sml
-in
- structure Tag
-
- structure MLRep
- signature C
- structure C
- signature C_INT
- structure C_Int
- signature C_DEBUG
- structure C_Debug
-
- signature ZSTRING
- structure ZString
-
- signature DYN_LINKAGE
- structure DynLinkage
-
- signature CMEMORY
- structure CMemory
-end
Copied: mlton/trunk/lib/mlnlffi/memory/memory.32bit-unix.mlb (from rev 4030, mlton/trunk/lib/mlnlffi/memory/memory.x86-unix.mlb)
===================================================================
--- mlton/trunk/lib/mlnlffi/memory/memory.x86-unix.mlb 2005-08-25 04:21:26 UTC (rev 4030)
+++ mlton/trunk/lib/mlnlffi/memory/memory.32bit-unix.mlb 2005-08-25 12:54:10 UTC (rev 4031)
@@ -0,0 +1,25 @@
+local
+ $(SML_LIB)/basis/basis.mlb
+ $(SML_LIB)/basis/mlton.mlb
+
+ linkage.sig
+ ann "allowFFI true" in
+ linkage-libdl.sml
+ end
+ bitop-fn.sml
+ mlrep-i8i16i32i32i64f32f64.sml
+ memaccess.sig
+ memaccess-a4c1s2i4l4ll8f4d8.sml
+ memalloc.sig
+ ann "allowFFI true" in
+ memalloc-a4-unix.sml
+ end
+ memory.sig
+ memory.sml
+in
+ signature CMEMORY
+ structure CMemory
+ signature DYN_LINKAGE
+ structure DynLinkage
+ structure MLRep
+end
Added: mlton/trunk/lib/mlnlffi/memory/memory.mlb
===================================================================
--- mlton/trunk/lib/mlnlffi/memory/memory.mlb 2005-08-25 04:21:26 UTC (rev 4030)
+++ mlton/trunk/lib/mlnlffi/memory/memory.mlb 2005-08-25 12:54:10 UTC (rev 4031)
@@ -0,0 +1 @@
+platform/memory.$(TARGET_ARCH)-$(TARGET_OS).mlb
Deleted: mlton/trunk/lib/mlnlffi/memory/memory.x86-unix.mlb
===================================================================
--- mlton/trunk/lib/mlnlffi/memory/memory.x86-unix.mlb 2005-08-25 04:21:26 UTC (rev 4030)
+++ mlton/trunk/lib/mlnlffi/memory/memory.x86-unix.mlb 2005-08-25 12:54:10 UTC (rev 4031)
@@ -1,25 +0,0 @@
-local
- $(MLTON_ROOT)/basis/basis.mlb
- $(MLTON_ROOT)/basis/mlton.mlb
-
- linkage.sig
- ann "allowFFI true" in
- linkage-libdl.sml
- end
- bitop-fn.sml
- mlrep-i8i16i32i32i64f32f64.sml
- memaccess.sig
- memaccess-a4c1s2i4l4ll8f4d8.sml
- memalloc.sig
- ann "allowFFI true" in
- memalloc-a4-unix.sml
- end
- memory.sig
- memory.sml
-in
- signature CMEMORY
- structure CMemory
- signature DYN_LINKAGE
- structure DynLinkage
- structure MLRep
-end
Added: mlton/trunk/lib/mlnlffi/memory/platform/memory.powerpc-darwin.mlb
===================================================================
--- mlton/trunk/lib/mlnlffi/memory/platform/memory.powerpc-darwin.mlb 2005-08-25 04:21:26 UTC (rev 4030)
+++ mlton/trunk/lib/mlnlffi/memory/platform/memory.powerpc-darwin.mlb 2005-08-25 12:54:10 UTC (rev 4031)
@@ -0,0 +1 @@
+../memory.32bit-unix.mlb
Added: mlton/trunk/lib/mlnlffi/memory/platform/memory.powerpc-linux.mlb
===================================================================
--- mlton/trunk/lib/mlnlffi/memory/platform/memory.powerpc-linux.mlb 2005-08-25 04:21:26 UTC (rev 4030)
+++ mlton/trunk/lib/mlnlffi/memory/platform/memory.powerpc-linux.mlb 2005-08-25 12:54:10 UTC (rev 4031)
@@ -0,0 +1 @@
+../memory.32bit-unix.mlb
Added: mlton/trunk/lib/mlnlffi/memory/platform/memory.sparc-linux.mlb
===================================================================
--- mlton/trunk/lib/mlnlffi/memory/platform/memory.sparc-linux.mlb 2005-08-25 04:21:26 UTC (rev 4030)
+++ mlton/trunk/lib/mlnlffi/memory/platform/memory.sparc-linux.mlb 2005-08-25 12:54:10 UTC (rev 4031)
@@ -0,0 +1 @@
+../memory.32bit-unix.mlb
Added: mlton/trunk/lib/mlnlffi/memory/platform/memory.x86-linux.mlb
===================================================================
--- mlton/trunk/lib/mlnlffi/memory/platform/memory.x86-linux.mlb 2005-08-25 04:21:26 UTC (rev 4030)
+++ mlton/trunk/lib/mlnlffi/memory/platform/memory.x86-linux.mlb 2005-08-25 12:54:10 UTC (rev 4031)
@@ -0,0 +1 @@
+../memory.32bit-unix.mlb
|
|
From: Stephen W. <sw...@ml...> - 2005-08-24 21:21:29
|
Working on Debian packaging.
----------------------------------------------------------------------
U mlton/trunk/Makefile
U mlton/trunk/package/debian/changelog
U mlton/trunk/package/debian/control
----------------------------------------------------------------------
Modified: mlton/trunk/Makefile
===================================================================
--- mlton/trunk/Makefile 2005-08-23 21:29:00 UTC (rev 4029)
+++ mlton/trunk/Makefile 2005-08-25 04:21:26 UTC (rev 4030)
@@ -105,7 +105,7 @@
DEBSRC = mlton-$(VERSION).orig
.PHONY: deb
deb:
- $(MAKE) clean clean-svn version deb-change
+ $(MAKE) clean clean-svn version
mv package/debian .
tar -cpf - . | \
( cd .. && mkdir $(DEBSRC) && cd $(DEBSRC) && tar -xpf - )
Modified: mlton/trunk/package/debian/changelog
===================================================================
--- mlton/trunk/package/debian/changelog 2005-08-23 21:29:00 UTC (rev 4029)
+++ mlton/trunk/package/debian/changelog 2005-08-25 04:21:26 UTC (rev 4030)
@@ -1,3 +1,16 @@
+mlton (20050824-1) unstable; urgency=low
+
+ * new upstream version
+ * built statically, closes: #324859
+
+ -- Stephen Weeks <sw...@sw...> Wed, 24 Aug 2005 15:13:19 -0700
+
+mlton (20050823-1) unstable; urgency=low
+
+ * new upstream version
+
+ -- Stephen Weeks <sw...@sw...> Tue, 23 Aug 2005 14:56:59 -0700
+
mlton (20050822-1) unstable; urgency=low
* new upstream version
Modified: mlton/trunk/package/debian/control
===================================================================
--- mlton/trunk/package/debian/control 2005-08-23 21:29:00 UTC (rev 4029)
+++ mlton/trunk/package/debian/control 2005-08-25 04:21:26 UTC (rev 4030)
@@ -2,18 +2,18 @@
Section: devel
Priority: optional
Maintainer: Stephen Weeks <sw...@sw...>
-Build-Depends: mlton (>= 20041109.1), libgmp3-dev (>= 4.0.1), tetex-bin, tetex-extra, time
+Build-Depends: mlton (>= 20041109-1), libgmp3-dev (>= 4.0.1), tetex-bin, tetex-extra, time
Standards-Version: 3.6.2
Package: mlton
Architecture: hppa i386 powerpc sparc
Depends: ${shlibs:Depends}, gcc, libgmp3-dev (>= 4.0.1)
Description: Optimizing compiler for Standard ML
- MLton (www.mlton.org) is a whole-program
- optimizing compiler for Standard ML. MLton
- generates standalone executables with excellent
- runtime performance, is SML 97 compliant, and
- has a complete basis library. MLton has
- source-level profiling, a fast C FFI, an
- interface to the GNU multiprecision library,
- and lots of useful libraries.
+ MLton (mlton.org) is a whole-program optimizing
+ compiler for Standard ML. MLton generates
+ standalone executables with excellent runtime
+ performance, is SML 97 compliant, and has a
+ complete basis library. MLton has source-level
+ profiling, a fast C FFI, an interface to the GNU
+ multiprecision library, and lots of useful
+ libraries.
|
|
From: Stephen W. <sw...@ml...> - 2005-08-23 14:29:06
|
Updated Debian build-depends and standards-version. ---------------------------------------------------------------------- U mlton/trunk/package/debian/control ---------------------------------------------------------------------- Modified: mlton/trunk/package/debian/control =================================================================== --- mlton/trunk/package/debian/control 2005-08-23 00:14:43 UTC (rev 4028) +++ mlton/trunk/package/debian/control 2005-08-23 21:29:00 UTC (rev 4029) @@ -2,8 +2,8 @@ Section: devel Priority: optional Maintainer: Stephen Weeks <sw...@sw...> -Build-Depends: hevea, mlton (>= 20020410.1), libgmp3-dev (>= 4.0.1), tetex-bin, tetex-extra, time -Standards-Version: 3.6.1 +Build-Depends: mlton (>= 20041109.1), libgmp3-dev (>= 4.0.1), tetex-bin, tetex-extra, time +Standards-Version: 3.6.2 Package: mlton Architecture: hppa i386 powerpc sparc |
|
From: Stephen W. <sw...@ml...> - 2005-08-22 17:14:45
|
Added Debian changelog entry for recently duploaded package. ---------------------------------------------------------------------- U mlton/trunk/package/debian/changelog ---------------------------------------------------------------------- Modified: mlton/trunk/package/debian/changelog =================================================================== --- mlton/trunk/package/debian/changelog 2005-08-23 00:01:39 UTC (rev 4027) +++ mlton/trunk/package/debian/changelog 2005-08-23 00:14:43 UTC (rev 4028) @@ -1,3 +1,9 @@ +mlton (20050822-1) unstable; urgency=low + + * new upstream version + + -- Stephen Weeks <sw...@sw...> Mon, 22 Aug 2005 17:13:09 -0700 + mlton (20041109-1) unstable; urgency=low * new upstream version |
|
From: Stephen W. <sw...@ml...> - 2005-08-22 17:01:41
|
Fixed Debian permission problems. MLton now builds on Debian with no lintian warnings or errors. ---------------------------------------------------------------------- U mlton/trunk/Makefile U mlton/trunk/package/debian/rules ---------------------------------------------------------------------- Modified: mlton/trunk/Makefile =================================================================== --- mlton/trunk/Makefile 2005-08-22 23:05:06 UTC (rev 4026) +++ mlton/trunk/Makefile 2005-08-23 00:01:39 UTC (rev 4027) @@ -432,3 +432,4 @@ $(CP) $(SRC)/debian/$$f.doc-base $(TDOCBASE)/$$f; \ done cd $(TDOC)/ && $(GZIP) changelog changelog.Debian + chown -R root.root $(TDOC) Modified: mlton/trunk/package/debian/rules =================================================================== --- mlton/trunk/package/debian/rules 2005-08-22 23:05:06 UTC (rev 4026) +++ mlton/trunk/package/debian/rules 2005-08-23 00:01:39 UTC (rev 4027) @@ -35,8 +35,9 @@ binary-arch: build install # dh_installdeb mkdir -p $(BUILDDIR)/DEBIAN - for f in postinst prerm; do \ - $(CP) debian/mlton.$$f $(BUILDDIR)/DEBIAN/$$f; \ + for f in postinst prerm; do \ + $(CP) debian/mlton.$$f $(BUILDDIR)/DEBIAN/$$f; \ + chown root.root $(BUILDDIR)/DEBIAN/$$f; \ done # dh_shlibdeps dpkg-shlibdeps \ |
|
From: Matthew F. <fl...@ml...> - 2005-08-22 16:05:08
|
Created runtime/gc directory to break up monolithic gc.{h,c}
implementation. Even if for performance reasons we need to cat
smaller implementation files into one monolithic file, separate files
still make sense for tracking revisions and for organization.
Added runtime/gc/mltongc.txt as an overview of the MLton garbage
collector.
----------------------------------------------------------------------
A mlton/branches/on-20050822-x86_64-branch/runtime/gc/
A mlton/branches/on-20050822-x86_64-branch/runtime/gc/mltongc.txt
----------------------------------------------------------------------
Added: mlton/branches/on-20050822-x86_64-branch/runtime/gc/mltongc.txt
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/runtime/gc/mltongc.txt 2005-08-22 22:48:34 UTC (rev 4025)
+++ mlton/branches/on-20050822-x86_64-branch/runtime/gc/mltongc.txt 2005-08-22 23:05:06 UTC (rev 4026)
@@ -0,0 +1,319 @@
+
+Notes on the MLton garbage collection system. Until the "Thoughts on
+64-bits" section, a word is considered to be 32-bits.
+
+Garbage Collector
+=================
+
+MLton implements a relatively simple garbage collection strategy, that
+nonetheless adapts itself readily to different scenarios of memory usage.
+
+All ML objects (including ML execution stacks) are allocated in a
+contiguous heap. The heap has the following general layout:
+
+ ---------------------------------------------------
+ | old generation | to space | nursery |
+ ---------------------------------------------------
+ ^ ^ ^ ^
+ start back frontier limit
+
+New ML objects are allocated in the nursery at the frontier. Upon
+exhausting the nursery (i.e., when limit - frontier is insufficient
+for the next object allocation), a garbage collection is initiated.
+
+It should be noted that in the absence of memory pressure, the
+to-space is of zero size and the old-generation is simply the live
+data from the last garbage collection. Hence, generational garbage
+collection is only enabled when the program display sufficiently high
+memory usage.
+
+In the common, non-generational scenario, a garbage collection
+involves one of two major garbage collection strategies. If there is
+sufficient memory to allocate a second heap of approximately the same
+size as the current heap, then a Cheney Copy garbage collection is
+performed. (In practice, the second heap is already allocated and the
+two semi-spaces are swapped at each Cheney Copy.) If there is
+insufficient memory for a second semi-space, then a Mark Compact
+garbage collection is performed.
+
+After a Mark Compact garbage collection, or if the live ratio is low
+enough, the runtime switches to a generational collection. In this
+scenario, the current live data becomes the old-generation, while the
+remaining space is split into the to-space and the nursery. A minor
+garbage collection copies live objects from the nursery to the
+beginning of to-space, thereby extending the old-generation and
+shrinking the space available for the to-space and the nursery.
+Eventually, the nursery becomes too small to accomodate new object
+allocations, and a major garbage collection is intiated.
+
+The MLton garbage collector additionally supports weak pointers and
+object finalizers, hash-consing (sharing) of both the entire heap and
+the heap reachable from individual objects, computing the dynamic size
+of objects, and provides some runtime support for profiling.
+
+In the sequel we will refer to pointers to objects in the ML heap as
+"heap pointers". Note that a valid heap pointer is always bounded by
+the start pointer and the limit pointer of the current heap. Hence,
+heap pointers admit representations other than the native pointer
+representation. Furthermore, precise garbage collection requires
+identifying all heap pointers in ML objects.
+
+There are four kinds of ML objects: array, normal (fixed size), stack,
+and weak. Each object has a header (currently, a 32-bit word), which
+immediately precedes the object data. A heap pointer always denotes
+the address following the header (i.e., the first data word); there
+are no heap pointers to object interiors.
+
+
+A header word has the following bit layout:
+
+ 00 : 1
+ 01 - 19 : type index bits
+ 20 - 30 : counter bits, used by mark compact GC
+ 31 : mark bit, used by mark compact GC
+
+Normal objects have the following layout:
+
+ header word ::
+ (non heap-pointers)* ::
+ (heap pointers)*
+
+Note that the non heap-pointers denote a sequence of primitive data
+values. These data values need not map directly to values of the
+native word size. MLton's aggressive representation strategies may
+pack multiple primitive values into the same native word. Likewise, a
+primitive value may span multiple native words (e.g., Word64.word).
+
+Array objects have the following layout:
+
+ counter word ::
+ length word ::
+ header word ::
+ ( (non heap-pointers)* :: (heap pointers)* )*
+
+The counter word is used by mark compact GC. The length word is the
+number of elements in the array. Array elements have the same
+individual layout as normal objects, omitting the header word.
+
+Stack objects have the following layout:
+
+ header word ::
+ markTop pointer ::
+ markIndex word ::
+ reserved word ::
+ used word ::
+ ... reserved bytes ...
+
+The markTop pointer and markIndex word are used by mark compact GC.
+The reserved word gives the number of bytes for the stack (before the
+next ML object). The used word gives the number of bytes currently
+used by the stack. The sequence of reserved bytes correspond to ML
+stack frames, which will be discussed in more detail below.
+
+Weak objects have the following layout:
+
+ header word ::
+ unused word ::
+ link word ::
+ heap-pointer
+
+
+The type index of a header word is an index into an array, where each
+element describes the layout of an object. The 19 bits available for
+the type index means that there are only 2^19 different object layouts
+per program. The "hello-world" program yields 37 object types in the
+array, though there are only 19 distinct object types.
+
+The type index array is declared as follows:
+
+ typedef enum {
+ ARRAY_TAG,
+ NORMAL_TAG,
+ STACK_TAG,
+ WEAK_TAG,
+ } GC_ObjectTypeTag;
+
+ typedef struct {
+ GC_ObjectTypeTag tag;
+ Bool hasIdentity;
+ ushort numNonPointers;
+ ushort numPointers;
+ } GC_ObjectType;
+
+ GC_ObjectType *objectTypes; /* Array of object types. */
+
+The objectTypes pointer is initialized to point to a static array of
+object types that is emitted for each compiled program. The
+hasIdentity field indicates whether or not the object has mutable
+fields, in which case it may not be hash-cons-ed. In a normal object,
+the numNonPointers field indicates the number of 32-bit words of non
+heap-pointer data, while the numPointers field indicates the number of
+heap pointers. In an array object, the numNonPointers field indicates
+the number of bytes of non heap-pointer data, while the numPointers
+field indicates the number of heap pointers. In a stack object, the
+numNonPointers and numPointers fields are irrelevant. In a weak
+object, the numNonPointers and numPointers fields are interpreted as
+in a normal object.
+
+As an example, here is a portion of the static data emitted for the
+"hello-world" program:
+
+static GC_ObjectType objectTypes[] = {
+ { 2, FALSE, 0, 0 },
+ { 0, FALSE, 1, 0 },
+ { 1, TRUE, 2, 1 },
+ { 3, FALSE, 3, 0 },
+ { 0, FALSE, 4, 0 },
+ ...
+}
+
+
+The "... reserved bytes ..." of a stack object constitute a linear
+sequence of frames. For the purposes of garbage collection, we must
+be able to recover the size and offsets of live heap-pointers for each
+frame. This data is declared as follows:
+
+ typedef ushort *GC_offsets;
+
+ typedef struct GC_frameLayout {
+ char isC;
+ ushort numBytes;
+ GC_offsets offsets;
+ } GC_frameLayout;
+
+ GC_frameLayout *frameLayouts;
+
+The frameLayouts pointer is initialized to point to a static array of
+frame layouts that is emitted for each compiled program. The isC
+field identified whether or not the frame is for a C call. (Note: The
+ML stack is distinct from the system stack. A C call executes on the
+system stack. The frame left on the ML stack is just a marker.) The
+numBytes field indicates the size of the frame, including space for
+the return address. The offsets field points to an array (the zeroeth
+element recording the size of the array) whose elements record byte
+offsets from the bottom of the frame at which live heap pointers are
+located.
+
+As an example, here is a portion of the static data emitted for the
+"hello-world" program:
+
+static ushort frameOffsets0[] = {0};
+static ushort frameOffsets1[] = {2,0,4};
+static ushort frameOffsets2[] = {1,0};
+static ushort frameOffsets3[] = {2,4,16};
+static ushort frameOffsets4[] = {1,4};
+...
+static GC_frameLayout frameLayouts[] = {
+ {TRUE, 4, frameOffsets0},
+ {FALSE, 4, frameOffsets0},
+ {TRUE, 20, frameOffsets1},
+ {TRUE, 20, frameOffsets2},
+ {FALSE, 12, frameOffsets0},
+ ...
+
+
+
+Thoughts on 64-bits:
+
+ * At this high level, I don't see obvious difficulties with adapting
+ the garbage collector to a 64-bit platform. However, there are
+ certainly a number of design decisions.
+
+ * What representation for heap pointers?
+
+ There is a preliminary proposal from Stephen:
+ http://mlton.org/pipermail/mlton/2004-October/026162.html
+
+ Certainly, it would appear to be easiest to begin with a scenario
+ where heap pointers share the same representation as native
+ pointers (i.e., 64-bits). However this means that ML objects will
+ be quite a bit bigger in the 64-bit world. Ultimately, it would be
+ appropriate to have multiple strategies at hand.
+
+ Assuming that per-compile representation strategies are available,
+ the question arises as to how to best integrate with the runtime
+ system. The compiler proper can handle internalizing/externalizing
+ heap pointers in the code it emits. However, it seems likely that
+ we would want multiple libmlton.a libraries available,
+ corresponding to the different strategies. The overhead of
+ consulting a flag in the runtime state to determine the
+ representation of heap pointers at every heap pointer dereference
+ would appear to much much too high. The implementation may
+ certainly make use of inline functions or macros to unify the
+ different strategies, but it seems as though we will want to
+ compile different specializations of the runtime system.
+
+ Also, I think it makes sense to ensure that heap pointers passed
+ through the FFI are externalized -- that is, C code will only ever
+ see 64-bit pointers, regardless of the representation strategy.
+
+ However, there is an argument against this. Currently, int ref ref
+ is a valid FFI type, and we currently claim that it has the
+ "natural C representation." This claim would be broken if the
+ inner ref had a different heap pointer representation.
+
+ We could provide {extern,intern}HeapPointer functions for C, but
+ then it is not clear how to compile the C code, not knowing what
+ representation will be chosen for heap pointers.
+
+ * How big should arrays be?
+
+ We currently allow arrays of size up to Int.maxInt, where Int.int
+ is a 32-bit integer. It is a separate issue to decide how the
+ Basis Library should change in the presence of a 64-bit port, but
+ if we were to allow arrays of size up to Int64.maxInt, then the
+ representation of array objects would need to change, as the
+ counter word and the length word would need to be larger to
+ accomodate very large arrays.
+
+ * Another big design decision concerns how best to accomodate both
+ the 32-bit garbage collector and the 64-bit garbage collection with
+ (much) the same code. Sharing as much code as possible would be
+ desirable, as we do not wish the two systems to vary in any
+ significant way.
+
+ I think that this strongly suggests that all sizes and offsets are
+ measured in (8-bit) bytes. I can't remember why array and normal
+ objects treat the numNonPointers field of a GC_ObjectType
+ differently.
+
+ I think that it also strongly suggests that we avoid the C types
+ int and long, and instead use more specific C99 types.
+
+ I also think that it is a fairly safe assumption to assume that the
+ programs compiled on 64-bit architectures are essentially the same
+ as those compiled on 32-bit architectures. In particular, 2^19
+ object types should remain viable for some time to come. Likewise,
+ the 20 counter bits in the header word (used to implement the mark
+ stack) should continue to be sufficient for the number of heap
+ pointers in a normal heap object. Finally, 16-bits for the
+ numNonPointers and numPointers fields of a GC_ObjectType will
+ continue to suffice. (For a truly absurd example, the currently
+ active exception handler is represented by a 32-bit offset from the
+ bottom of the stack. If an ML execution stack were to grow to more
+ than 4GB, this representation would no longer suffice.)
+
+ On the other hand, it is not safe to assume that the parameters of
+ a 64-bit host system are essentially the same as a 32-bit host
+ system. For example, in order to make decisions regarding garbage
+ collection strategies, the runtime must query the amount of
+ available RAM. Likewise, garbage collection statistics, such as
+ bytesAllocated, bytesCopied, bytesLive, etc., could potentially be
+ an order of magnitude larger on 64-bit systems. And, most
+ importantly, the actual size of the heap could be much larger on a
+ 64-bit system.
+
+ * Finally, I note that gc.c weighs in at 4826 lines, which is
+ significantly larger than almost any SML file in the compiler.
+ (The exceptions are the x86 native codegen register allocator and
+ the elaborator for the core language.) Since we'll be going over
+ the garbage collector with a fine tooth comb anyway, it might be
+ time to start breaking it into separate implementation files.
+
+Those are some intial thoughts, and may provide a starting point for
+some discussion.
+
+_______________________________________________
+MLton mailing list
+ML...@ml...
+http://mlton.org/mailman/listinfo/mlton
|
|
From: Matthew F. <fl...@ml...> - 2005-08-22 15:48:35
|
Branch from r4024 for x86_64 port ---------------------------------------------------------------------- A mlton/branches/on-20050822-x86_64-branch/ ---------------------------------------------------------------------- Copied: mlton/branches/on-20050822-x86_64-branch (from rev 4024, mlton/trunk) |
|
From: Stephen W. <sw...@ml...> - 2005-08-22 14:42:26
|
Tweaked "deb" target to automatically add the changelog entry. ---------------------------------------------------------------------- U mlton/trunk/Makefile U mlton/trunk/package/debian/changelog ---------------------------------------------------------------------- Modified: mlton/trunk/Makefile =================================================================== --- mlton/trunk/Makefile 2005-08-22 21:38:14 UTC (rev 4023) +++ mlton/trunk/Makefile 2005-08-22 21:42:20 UTC (rev 4024) @@ -105,7 +105,7 @@ DEBSRC = mlton-$(VERSION).orig .PHONY: deb deb: - $(MAKE) clean clean-svn version + $(MAKE) clean clean-svn version deb-change mv package/debian . tar -cpf - . | \ ( cd .. && mkdir $(DEBSRC) && cd $(DEBSRC) && tar -xpf - ) Modified: mlton/trunk/package/debian/changelog =================================================================== --- mlton/trunk/package/debian/changelog 2005-08-22 21:38:14 UTC (rev 4023) +++ mlton/trunk/package/debian/changelog 2005-08-22 21:42:20 UTC (rev 4024) @@ -1,9 +1,3 @@ -mlton (MLTONVERSION-1) unstable; urgency=low - - * new upstream version - - -- Stephen Weeks <sw...@sw...> Sat, 28 Feb 2004 00:39:10 -0800 - mlton (20041109-1) unstable; urgency=low * new upstream version |
|
From: Stephen W. <sw...@ml...> - 2005-08-22 14:38:16
|
Fixed minor packaging issues.
----------------------------------------------------------------------
_U mlton/trunk/doc/license/
U mlton/trunk/doc/license/README
U mlton/trunk/lib/ckit-lib/Makefile
U mlton/trunk/lib/smlnj-lib/Makefile
----------------------------------------------------------------------
Property changes on: mlton/trunk/doc/license
___________________________________________________________________
Name: svn:ignore
+ SMLNJ-LIB-LICENSE
Modified: mlton/trunk/doc/license/README
===================================================================
--- mlton/trunk/doc/license/README 2005-08-22 14:14:05 UTC (rev 4022)
+++ mlton/trunk/doc/license/README 2005-08-22 21:38:14 UTC (rev 4023)
@@ -10,10 +10,11 @@
mllex
mlyacc and MLYacc Library
Concurrent ML Library
- SML/NJ Library
CKit Library
mlnlffigen and MLNLFFI Library
+SML/NJ Lib SMLNJ-LIB-LICENSE (BSD-style) SML/NJ Library
+
ML Kit MLKit-LICENSE (MIT) Path, Time, Date
gdtoa gdtoa-LICENSE (BSD-style) Real binary <-> decimal conversions
Modified: mlton/trunk/lib/ckit-lib/Makefile
===================================================================
--- mlton/trunk/lib/ckit-lib/Makefile 2005-08-22 14:14:05 UTC (rev 4022)
+++ mlton/trunk/lib/ckit-lib/Makefile 2005-08-22 21:38:14 UTC (rev 4023)
@@ -11,6 +11,7 @@
ckit/README.mlton: ckit.tgz ckit.patch
gzip -dc ckit.tgz | tar xf -
patch -p0 < ckit.patch
+ chmod a-x ckit/src/ast/simplify-assign-ops.sml
.PHONY: clean
clean:
Modified: mlton/trunk/lib/smlnj-lib/Makefile
===================================================================
--- mlton/trunk/lib/smlnj-lib/Makefile 2005-08-22 14:14:05 UTC (rev 4022)
+++ mlton/trunk/lib/smlnj-lib/Makefile 2005-08-22 21:38:14 UTC (rev 4023)
@@ -10,7 +10,9 @@
smlnj-lib/README.mlton: smlnj-lib.tgz smlnj-lib.patch
gzip -dc smlnj-lib.tgz | tar xf -
- patch -p0 < smlnj-lib.patch
+ patch -p0 < smlnj-lib.patch
+ rm smlnj-lib/HTML/.cvsignore
+ mv smlnj-lib/LICENSE ../../doc/license/SMLNJ-LIB-LICENSE
.PHONY: clean
clean:
|
|
From: Vesa K. <ve...@ml...> - 2005-08-22 07:14:08
|
Added customizable key bindings and removed customization variable
allow-completion (it is now redundant). Minor regexp tweaks.
----------------------------------------------------------------------
U mlton/trunk/ide/emacs/esml-mlb-mode.el
----------------------------------------------------------------------
Modified: mlton/trunk/ide/emacs/esml-mlb-mode.el
===================================================================
--- mlton/trunk/ide/emacs/esml-mlb-mode.el 2005-08-22 01:57:37 UTC (rev 4021)
+++ mlton/trunk/ide/emacs/esml-mlb-mode.el 2005-08-22 14:14:05 UTC (rev 4022)
@@ -93,11 +93,6 @@
:set 'esml-mlb-set-custom-and-update
:group 'esml-mlb)
-(defcustom esml-mlb-allow-completion t
- "Allow tab-completion if non-nil."
- :type 'boolean
- :group 'esml-mlb)
-
(defcustom esml-mlb-completion-ignored-files-regexp "\\.[^.].*\\|CVS/"
"Completion ignores files (and directories) whose names match this
regexp."
@@ -109,6 +104,21 @@
:type 'integer
:group 'esml-mlb)
+(defcustom esml-mlb-key-bindings
+ '(("[tab]"
+ . esml-mlb-indent-line-or-complete)
+ ("[(control c) (control f)]"
+ . esml-mlb-find-file-at-point)
+ ("[(control c) (control s)]"
+ . esml-mlb-show-basis))
+ "Key bindings for the ML Basis mode. The key specifications must be in a
+format accepted by the function `define-key'. Hint: You might want to type
+`M-x describe-function esml-mlb <TAB>' to see the available commands."
+ :type '(repeat (cons :tag "Key Binding"
+ (string :tag "Key")
+ (function :tag "Command")))
+ :group 'esml-mlb)
+
(defcustom esml-mlb-mlb-path-map-files
'("~/.mlton/mlb-path-map"
"/usr/lib/mlton/mlb-path-map")
@@ -229,8 +239,14 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Syntax and highlighting
-(defconst esml-mlb-str-chr-regexp "\\([^\n\"\\]\\|\\\\.\\)")
-(defconst esml-mlb-string-regexp (concat "\"" esml-mlb-str-chr-regexp "+\""))
+(defconst esml-mlb-string-continue-regexp "\\(\\\\[ \t\n]+\\\\\\)")
+(defconst esml-mlb-string-char-regexp
+ (concat "\\(" esml-mlb-string-continue-regexp
+ "*\\([^\n\"\\]\\|\\\\[^ \t\n]\\)\\)"))
+(defconst esml-mlb-inside-string-regexp
+ (concat "\"" esml-mlb-string-char-regexp "*"
+ esml-mlb-string-continue-regexp "*"))
+(defconst esml-mlb-string-regexp (concat esml-mlb-inside-string-regexp "\""))
(defconst esml-mlb-inside-comment-regexp "(\\*\\([^*]\\|\\*[^)]\\)*")
(defconst esml-mlb-comment-regexp (concat esml-mlb-inside-comment-regexp "\\*)"))
(defconst esml-mlb-path-var-chars "A-Za-z0-9_")
@@ -283,19 +299,19 @@
"Builds the font-lock table for ML Basis mode."
(setq esml-mlb-font-lock-table
`(;; quoted path names
- (,(concat "\"" esml-mlb-str-chr-regexp "*\\.\\(" esml-mlb-path-suffix-regexp "\\)\"")
+ (,(concat esml-mlb-inside-string-regexp "\\.\\(" esml-mlb-path-suffix-regexp "\\)\"")
. font-lock-constant-face)
;; annotations
(,(apply
'concat
- "\"[ \t\n]*\\("
+ "\"[ \t]*\\("
(reduce
(function
(lambda (regexps name-values)
(if (cdr regexps)
(push "\\|" regexps))
(cons (if (cdr name-values)
- (concat (car name-values) "[ \t\n]+\\("
+ (concat (car name-values) "[ \t]+\\("
(reduce (function
(lambda (r s)
(concat r "\\|\\("
@@ -310,9 +326,9 @@
(car name-values))
regexps)))
esml-mlb-annotations
- :initial-value '("\\)[ \t\n]*\"")))
+ :initial-value '("\\)[ \t]*\"")))
. font-lock-string-face)
- (,(concat "\"" esml-mlb-str-chr-regexp "*\"")
+ (,esml-mlb-string-regexp
. font-lock-warning-face)
;; path variables
(,(concat "\\$(\\(" (regexp-opt (mapcar 'car esml-mlb-path-variables)) "\\))")
@@ -327,7 +343,7 @@
;; keywords
(,(concat "\\<\\(" (regexp-opt esml-mlb-keywords) "\\)\\>")
. font-lock-keyword-face)
- ;; variables
+ ;; basids
("[A-Za-z][A-Za-z0-9_']*"
. font-lock-interface-def-face))))
@@ -373,6 +389,7 @@
(defun esml-mlb-indent-line ()
"Indent current line as ML Basis code."
+ (interactive)
(let* ((indent-evidence (esml-mlb-previous-indentation))
(indent (car indent-evidence))
(evidence (cdr indent-evidence)))
@@ -443,7 +460,7 @@
(string-match valid-suffices-regexp ext)))))))))))
(defun esml-mlb-complete ()
- "Performs context sensitive completion."
+ "Performs context sensitive completion at point."
(interactive)
(cond
;; no completion inside comments
@@ -452,7 +469,7 @@
;; annotation values
((esml-point-preceded-by (concat "\"[ \t\n]*\\("
(regexp-opt (mapcar 'car esml-mlb-annotations))
- "\\)[ \t\n]+\\(" esml-mlb-str-chr-regexp "*\\)"))
+ "\\)[ \t\n]+\\(" esml-mlb-string-char-regexp "*\\)"))
(let* ((annot (assoc (match-string 1) esml-mlb-annotations))
(all-values (cdr annot))
(values (remove* nil all-values
@@ -476,7 +493,7 @@
(concat "\\<ann[ \t\n]+\\([ \t\n]+\\|" esml-mlb-string-regexp
"\\|" esml-mlb-comment-regexp "\\)*\"[^\"]*"))
(esml-point-preceded-by
- (concat "\"[ \t\n]*\\(" esml-mlb-str-chr-regexp "*\\)")))
+ (concat "\"[ \t\n]*\\(" esml-mlb-string-char-regexp "*\\)")))
(let* ((name-prefix (match-string 1))
(name-completion (try-completion name-prefix esml-mlb-annotations))
(name (if (eq t name-completion) name-prefix name-completion)))
@@ -516,7 +533,7 @@
;; filenames and keywords
((or (esml-point-preceded-by
- (concat "\\(\"\\)\\(" esml-mlb-str-chr-regexp "+\\)"))
+ (concat "\\(\"\\)\\(" esml-mlb-string-char-regexp "+\\)"))
(esml-point-preceded-by
(concat "\\([ \t\n]\\|^\\)\\([" esml-mlb-unquoted-path-or-ref-chars "]+\\)")))
;; TBD: escape sequences in quoted pathnames
@@ -575,14 +592,13 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Commands
-(defun esml-mlb-indent-or-complete ()
+(defun esml-mlb-indent-line-or-complete ()
"Indents the current line. If indentation does not change, attempts to
-perform context sensitive completion."
+perform context sensitive completion. This command is not idempotent."
(interactive)
(let ((old-indentation (current-indentation)))
(esml-mlb-indent-line)
- (when (and esml-mlb-allow-completion
- (= old-indentation (current-indentation)))
+ (when (= old-indentation (current-indentation))
(esml-mlb-complete))))
(defun esml-mlb-find-file-at-point ()
@@ -652,26 +668,29 @@
(message "show-basis running...")))
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;; Key Map
+
+(defvar esml-mlb-mode-map (make-sparse-keymap)
+ "Keymap for ML Basis mode. This variable is updated by
+`esml-mlb-update'.")
+
+(defun esml-mlb-build-mode-map ()
+ "Builds the key map for ML Basis mode."
+ (let ((result (make-sparse-keymap)))
+ (mapc (function
+ (lambda (key-command)
+ (define-key result
+ (read (car key-command))
+ (cdr key-command))))
+ esml-mlb-key-bindings)
+ (setq esml-mlb-mode-map result)))
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Define mode
(defvar esml-mlb-mode-hook nil
"Hook run when entering ML Basis mode.")
-(defvar esml-mlb-mode-map
- (let ((esml-mlb-mode-map (make-sparse-keymap)))
- (mapc (function
- (lambda (key-command)
- (define-key esml-mlb-mode-map
- (car key-command) (cdr key-command))))
- '(([tab]
- . esml-mlb-indent-or-complete)
- ([(control c) (control f)]
- . esml-mlb-find-file-at-point)
- ([(control c) (control s)]
- . esml-mlb-show-basis)))
- esml-mlb-mode-map)
- "Keymap for ML Basis mode.")
-
(define-derived-mode esml-mlb-mode fundamental-mode "MLB"
"Major mode for editing ML Basis files. Provides syntax highlighting,
indentation, and context sensitive completion.
@@ -694,7 +713,8 @@
;; Warning: order dependencies
(esml-mlb-parse-path-variables)
(esml-mlb-parse-annotations)
- (esml-mlb-build-font-lock-table))
+ (esml-mlb-build-font-lock-table)
+ (esml-mlb-build-mode-map))
;; We are finally ready to update everything the first time.
(esml-mlb-update)
|
|
From: Vesa K. <ve...@ml...> - 2005-08-21 19:16:53
|
Wrapped shell-command inside save-window-excursion to avoid annoying
window changes during loading.
----------------------------------------------------------------------
U mlton/trunk/ide/emacs/esml-mlb-mode.el
----------------------------------------------------------------------
Modified: mlton/trunk/ide/emacs/esml-mlb-mode.el
===================================================================
--- mlton/trunk/ide/emacs/esml-mlb-mode.el 2005-08-21 02:03:48 UTC (rev 4018)
+++ mlton/trunk/ide/emacs/esml-mlb-mode.el 2005-08-21 17:50:05 UTC (rev 4019)
@@ -164,10 +164,11 @@
(esml-split-string s "[ \t]*[{}|][ \t]*")))
(esml-split-string
(with-temp-buffer
- (shell-command
- esml-mlb-show-annotations-command
- (current-buffer))
- (buffer-string))
+ (save-window-excursion
+ (shell-command
+ esml-mlb-show-annotations-command
+ (current-buffer))
+ (buffer-string)))
"[ \t]*\n+[ \t]*"))))
(function
(lambda (a b)
|
|
From: Matthew F. <fl...@ml...> - 2005-08-21 19:13:57
|
Ran expand on .st enscript files
----------------------------------------------------------------------
U mlton/trunk/ide/enscript/sml_all.st
U mlton/trunk/ide/enscript/sml_fancy.st
U mlton/trunk/ide/enscript/sml_gaudy.st
U mlton/trunk/ide/enscript/sml_verbose.st
----------------------------------------------------------------------
Modified: mlton/trunk/ide/enscript/sml_all.st
===================================================================
--- mlton/trunk/ide/enscript/sml_all.st 2005-08-21 18:31:31 UTC (rev 4020)
+++ mlton/trunk/ide/enscript/sml_all.st 2005-08-22 01:57:37 UTC (rev 4021)
@@ -233,17 +233,17 @@
real = ({decint}"."{digit}+ ({exp}{decint})?) | ({decint}{exp}{decint});
*/
sml_real_str = sprintf("((%s)\\.(%s)+((%s)(%s))?)|((%s)(%s)(%s))",
- sml_decint_str,sml_digit_str,sml_exp_str,sml_decint_str,
- sml_decint_str,sml_exp_str,sml_decint_str);
+ sml_decint_str,sml_digit_str,sml_exp_str,sml_decint_str,
+ sml_decint_str,sml_exp_str,sml_decint_str);
sml_real_re = regexp(sml_real_str);
/*
scon_num = {decint} | {hexint} | {decword} | {hexword} | {real}
*/
sml_scon_num_str = sprintf("\\b((%s)|(%s)|(%s)|(%s)|(%s))\\b",
- sml_decint_str,sml_hexint_str,
- sml_decword_str,sml_hexword_str,
- sml_real_str);
+ sml_decint_str,sml_hexint_str,
+ sml_decword_str,sml_hexword_str,
+ sml_real_str);
sml_scon_num_re = regexp(sml_scon_num_str);
/*
@@ -255,7 +255,7 @@
alphanumid = {letter}({letter} | {digit} | [_'])*;
*/
sml_alphanumid_str = sprintf("(%s)((%s)|(%s)|[_'])*",
- sml_letter_str,sml_letter_str,sml_digit_str);
+ sml_letter_str,sml_letter_str,sml_digit_str);
/*
symbolicid = {symbol}+;
*/
@@ -515,10 +515,10 @@
return TRUE;
while (length(scopes) == 2) {
if (strcmp(scopes[0][0],"local") == 0 &&
- scopes[0][1] == SML_MODULES_LEVEL)
+ scopes[0][1] == SML_MODULES_LEVEL)
scopes = scopes[1];
else if (strcmp(scopes[0][0],"let") == 0 &&
- scopes[0][1] == SML_MODULES_LEVEL)
+ scopes[0][1] == SML_MODULES_LEVEL)
return TRUE;
else
return FALSE;
@@ -618,15 +618,15 @@
language_print ($0);
type_face (true);
if (sml_typctxt_expected_eqs == 0) {
- sml_finish_typctxt ();
+ sml_finish_typctxt ();
} else {
- sml_typctxt_expected_eqs--;
- if (sml_datbind == SML_DATBIND_UNKNOWN) {
- sml_conbind = TRUE;
- }
- if (sml_exbind) {
- sml_conbind = TRUE;
- }
+ sml_typctxt_expected_eqs--;
+ if (sml_datbind == SML_DATBIND_UNKNOWN) {
+ sml_conbind = TRUE;
+ }
+ if (sml_exbind) {
+ sml_conbind = TRUE;
+ }
}
} else {
language_print ($0);
@@ -913,7 +913,7 @@
sml_id_re {
if (sml_conbind) {
if (sml_datbind == SML_DATBIND_UNKNOWN)
- sml_datbind = SML_DATBIND_DECL;
+ sml_datbind = SML_DATBIND_DECL;
sml_conbind = FALSE;
variable_name_face (true);
language_print ($0);
@@ -1038,12 +1038,12 @@
}
/:/ {
if (sml_andbind[0] == SML_AND_STRBIND ||
- sml_andbind[0] == SML_AND_FUNBIND) {
+ sml_andbind[0] == SML_AND_FUNBIND) {
language_print ($0);
} else {
language_print ($0);
if (sml_typctxt == -1)
- sml_start_typctxt (0);
+ sml_start_typctxt (0);
}
}
@@ -1084,15 +1084,15 @@
language_print ($0);
type_face (true);
if (sml_typctxt_expected_eqs == 0) {
- sml_finish_typctxt ();
+ sml_finish_typctxt ();
} else {
- sml_typctxt_expected_eqs--;
- if (sml_datbind == SML_DATBIND_UNKNOWN) {
- sml_conbind = TRUE;
- }
- if (sml_exbind) {
- sml_conbind = TRUE;
- }
+ sml_typctxt_expected_eqs--;
+ if (sml_datbind == SML_DATBIND_UNKNOWN) {
+ sml_conbind = TRUE;
+ }
+ if (sml_exbind) {
+ sml_conbind = TRUE;
+ }
}
} else {
language_print ($0);
@@ -1379,7 +1379,7 @@
sml_id_re {
if (sml_conbind) {
if (sml_datbind == SML_DATBIND_UNKNOWN)
- sml_datbind = SML_DATBIND_DECL;
+ sml_datbind = SML_DATBIND_DECL;
sml_conbind = FALSE;
variable_name_face (true);
language_print ($0);
Modified: mlton/trunk/ide/enscript/sml_fancy.st
===================================================================
--- mlton/trunk/ide/enscript/sml_fancy.st 2005-08-21 18:31:31 UTC (rev 4020)
+++ mlton/trunk/ide/enscript/sml_fancy.st 2005-08-22 01:57:37 UTC (rev 4021)
@@ -97,10 +97,10 @@
return TRUE;
while (length(scopes) == 2) {
if (strcmp(scopes[0][0],"local") == 0 &&
- scopes[0][1] == SML_MODULES_LEVEL)
+ scopes[0][1] == SML_MODULES_LEVEL)
scopes = scopes[1];
else if (strcmp(scopes[0][0],"let") == 0 &&
- scopes[0][1] == SML_MODULES_LEVEL)
+ scopes[0][1] == SML_MODULES_LEVEL)
return TRUE;
else
return FALSE;
@@ -203,15 +203,15 @@
language_print ($0);
type_face (true);
if (sml_typctxt_expected_eqs == 0) {
- sml_finish_typctxt ();
+ sml_finish_typctxt ();
} else {
- sml_typctxt_expected_eqs--;
- if (sml_datbind == SML_DATBIND_UNKNOWN) {
- sml_conbind = TRUE;
- }
- if (sml_exbind) {
- sml_conbind = TRUE;
- }
+ sml_typctxt_expected_eqs--;
+ if (sml_datbind == SML_DATBIND_UNKNOWN) {
+ sml_conbind = TRUE;
+ }
+ if (sml_exbind) {
+ sml_conbind = TRUE;
+ }
}
} else {
language_print ($0);
@@ -498,7 +498,7 @@
sml_id_re {
if (sml_conbind) {
if (sml_datbind == SML_DATBIND_UNKNOWN)
- sml_datbind = SML_DATBIND_DECL;
+ sml_datbind = SML_DATBIND_DECL;
sml_conbind = FALSE;
variable_name_face (true);
language_print ($0);
Modified: mlton/trunk/ide/enscript/sml_gaudy.st
===================================================================
--- mlton/trunk/ide/enscript/sml_gaudy.st 2005-08-21 18:31:31 UTC (rev 4020)
+++ mlton/trunk/ide/enscript/sml_gaudy.st 2005-08-22 01:57:37 UTC (rev 4021)
@@ -29,12 +29,12 @@
}
/:/ {
if (sml_andbind[0] == SML_AND_STRBIND ||
- sml_andbind[0] == SML_AND_FUNBIND) {
+ sml_andbind[0] == SML_AND_FUNBIND) {
language_print ($0);
} else {
language_print ($0);
if (sml_typctxt == -1)
- sml_start_typctxt (0);
+ sml_start_typctxt (0);
}
}
}
Modified: mlton/trunk/ide/enscript/sml_verbose.st
===================================================================
--- mlton/trunk/ide/enscript/sml_verbose.st 2005-08-21 18:31:31 UTC (rev 4020)
+++ mlton/trunk/ide/enscript/sml_verbose.st 2005-08-22 01:57:37 UTC (rev 4021)
@@ -94,17 +94,17 @@
real = ({decint}"."{digit}+ ({exp}{decint})?) | ({decint}{exp}{decint});
*/
sml_real_str = sprintf("((%s)\\.(%s)+((%s)(%s))?)|((%s)(%s)(%s))",
- sml_decint_str,sml_digit_str,sml_exp_str,sml_decint_str,
- sml_decint_str,sml_exp_str,sml_decint_str);
+ sml_decint_str,sml_digit_str,sml_exp_str,sml_decint_str,
+ sml_decint_str,sml_exp_str,sml_decint_str);
sml_real_re = regexp(sml_real_str);
/*
scon_num = {decint} | {hexint} | {decword} | {hexword} | {real}
*/
sml_scon_num_str = sprintf("\\b((%s)|(%s)|(%s)|(%s)|(%s))\\b",
- sml_decint_str,sml_hexint_str,
- sml_decword_str,sml_hexword_str,
- sml_real_str);
+ sml_decint_str,sml_hexint_str,
+ sml_decword_str,sml_hexword_str,
+ sml_real_str);
sml_scon_num_re = regexp(sml_scon_num_str);
/*
@@ -116,7 +116,7 @@
alphanumid = {letter}({letter} | {digit} | [_'])*;
*/
sml_alphanumid_str = sprintf("(%s)((%s)|(%s)|[_'])*",
- sml_letter_str,sml_letter_str,sml_digit_str);
+ sml_letter_str,sml_letter_str,sml_digit_str);
/*
symbolicid = {symbol}+;
*/
|
Author: sweeks
Date: 2005-08-21 11:31:31 -0700 (Sun, 21 Aug 2005)
New Revision: 4020
Modified:
mlton/trunk/basis-library/integer/int-inf.sml
mlton/trunk/basis-library/io/imperative-io.fun
mlton/trunk/basis-library/io/io.sml
mlton/trunk/basis-library/io/stream-io.fun
mlton/trunk/basis-library/io/text-io.sig
mlton/trunk/basis-library/libs/basis-1997/io/bin-io.sig
mlton/trunk/basis-library/libs/basis-1997/io/text-io.sig
mlton/trunk/basis-library/libs/basis-1997/top-level/basis.sml
mlton/trunk/basis-library/libs/basis-2002/top-level/basis.sig
mlton/trunk/basis-library/libs/basis-extra/top-level/basis.sig
mlton/trunk/basis-library/misc/primitive.sml
mlton/trunk/basis-library/misc/reader.sml
mlton/trunk/basis-library/mlton/process.sml
mlton/trunk/basis-library/mlton/signal.sml
mlton/trunk/basis-library/mlton/thread.sml
mlton/trunk/basis-library/net/socket.sig
mlton/trunk/basis-library/notes.txt
mlton/trunk/basis-library/posix/file-sys.sml
mlton/trunk/basis-library/posix/primitive.sml
mlton/trunk/basis-library/posix/process.sml
mlton/trunk/basis-library/real/real.fun
mlton/trunk/basis-library/real/real.sig
mlton/trunk/basis-library/sml-nj/sml-nj.sml
mlton/trunk/basis-library/sml-nj/unsafe.sml
mlton/trunk/basis-library/system/date.sml
mlton/trunk/basis-library/system/time.sml
mlton/trunk/basis-library/text/char.sml
mlton/trunk/benchmark/main.sml
mlton/trunk/benchmark/tests/DATA/ml.grm
mlton/trunk/benchmark/tests/DATA/ml.lex
mlton/trunk/benchmark/tests/DLXSimulator.sml
mlton/trunk/benchmark/tests/barnes-hut.sml
mlton/trunk/benchmark/tests/count-graphs.sml
mlton/trunk/benchmark/tests/fxp.sml
mlton/trunk/benchmark/tests/hamlet.sml
mlton/trunk/benchmark/tests/knuth-bendix.sml
mlton/trunk/benchmark/tests/lexgen.sml
mlton/trunk/benchmark/tests/mlyacc.sml
mlton/trunk/benchmark/tests/model-elimination.sml
mlton/trunk/benchmark/tests/raytrace.sml
mlton/trunk/benchmark/tests/simple.sml
mlton/trunk/benchmark/tests/smith-normal-form.sml
mlton/trunk/benchmark/tests/tensor.sml
mlton/trunk/benchmark/tests/tsp.sml
mlton/trunk/benchmark/tests/tyan.sml
mlton/trunk/benchmark/tests/vliw.sml
mlton/trunk/benchmark/tests/zebra.sml
mlton/trunk/benchmark/tests/zern.sml
mlton/trunk/bin/clean
mlton/trunk/bin/mlton-script
mlton/trunk/bin/regression
mlton/trunk/bytecode/interpret.c
mlton/trunk/bytecode/interpret.h
mlton/trunk/bytecode/opcode.h
mlton/trunk/doc/README
mlton/trunk/doc/changelog
mlton/trunk/doc/license/README
mlton/trunk/include/bytecode-main.h
mlton/trunk/include/c-chunk.h
mlton/trunk/include/c-common.h
mlton/trunk/include/c-main.h
mlton/trunk/include/main.h
mlton/trunk/include/x86-main.h
mlton/trunk/lib/cml/core-cml/channel.sig
mlton/trunk/lib/cml/core-cml/channel.sml
mlton/trunk/lib/cml/core-cml/event.sml
mlton/trunk/lib/cml/core-cml/run-cml.sml
mlton/trunk/lib/cml/core-cml/thread.sig
mlton/trunk/lib/mlnlffi/c.sig
mlton/trunk/lib/mlnlffi/internals/c-int.sig
mlton/trunk/lib/mlnlffi/internals/c-int.sml
mlton/trunk/lib/mlnlffi/memory/bitop-fn.sml
mlton/trunk/lib/mlnlffi/memory/linkage.sig
mlton/trunk/lib/mlnlffi/memory/memalloc.sig
mlton/trunk/lib/mlton-stubs-in-smlnj/int.sml
mlton/trunk/lib/mlton/basic/alpha-beta.fun
mlton/trunk/lib/mlton/basic/directed-graph.sml
mlton/trunk/lib/mlton/basic/directed-sub-graph.sml
mlton/trunk/lib/mlton/basic/hash-set.sml
mlton/trunk/lib/mlton/basic/http.sml
mlton/trunk/lib/mlton/basic/instream.sig
mlton/trunk/lib/mlton/basic/list.sig
mlton/trunk/lib/mlton/basic/list.sml
mlton/trunk/lib/mlton/basic/power.sml
mlton/trunk/lib/mlton/basic/process.sml
mlton/trunk/lib/mlton/basic/rdb.sml
mlton/trunk/lib/mlton/basic/regexp.sml
mlton/trunk/lib/mlton/basic/stream.sml
mlton/trunk/lib/mlton/basic/trace.sig
mlton/trunk/lib/mlton/queue/append-reverse.fun
mlton/trunk/lib/mlton/queue/explicit-append-reverse.fun
mlton/trunk/lib/mlton/set/bit-vector-set.fun
mlton/trunk/lib/mlton/set/universe.sig
mlton/trunk/lib/mlyacc/base.sig
mlton/trunk/lib/mlyacc/parser1.sml
mlton/trunk/lib/mlyacc/parser2.sml
mlton/trunk/lib/mlyacc/sources.cm
mlton/trunk/mllex/README
mlton/trunk/mllex/lexgen.doc
mlton/trunk/mllex/lexgen.sml
mlton/trunk/mllex/lexgen.tex
mlton/trunk/mllex/mlex_int.doc
mlton/trunk/mlnlffigen/README
mlton/trunk/mlnlffigen/ast-to-spec.sml
mlton/trunk/mlnlffigen/pp.sml
mlton/trunk/mlprof/main.sml
mlton/trunk/mlton/ast/tyvar.fun
mlton/trunk/mlton/atoms/c-function.fun
mlton/trunk/mlton/atoms/const.fun
mlton/trunk/mlton/atoms/hash-type.fun
mlton/trunk/mlton/atoms/prim.fun
mlton/trunk/mlton/atoms/prim.sig
mlton/trunk/mlton/atoms/tycon.sig
mlton/trunk/mlton/backend/backend.fun
mlton/trunk/mlton/backend/limit-check.fun
mlton/trunk/mlton/backend/live.fun
mlton/trunk/mlton/backend/machine.fun
mlton/trunk/mlton/backend/packed-representation.fun
mlton/trunk/mlton/backend/profile.fun
mlton/trunk/mlton/backend/rep-type.fun
mlton/trunk/mlton/backend/runtime.fun
mlton/trunk/mlton/backend/small-int-inf.fun
mlton/trunk/mlton/closure-convert/abstract-value.fun
mlton/trunk/mlton/closure-convert/closure-convert.fun
mlton/trunk/mlton/codegen/bytecode/bytecode.fun
mlton/trunk/mlton/codegen/c-codegen/c-codegen.fun
mlton/trunk/mlton/codegen/x86-codegen/x86-allocate-registers.fun
mlton/trunk/mlton/codegen/x86-codegen/x86-generate-transfers.fun
mlton/trunk/mlton/codegen/x86-codegen/x86-jump-info.fun
mlton/trunk/mlton/codegen/x86-codegen/x86-live-transfers.fun
mlton/trunk/mlton/codegen/x86-codegen/x86-liveness.fun
mlton/trunk/mlton/codegen/x86-codegen/x86-liveness.sig
mlton/trunk/mlton/codegen/x86-codegen/x86-mlton-basic.fun
mlton/trunk/mlton/codegen/x86-codegen/x86-mlton.fun
mlton/trunk/mlton/codegen/x86-codegen/x86-pseudo.sig
mlton/trunk/mlton/codegen/x86-codegen/x86-simplify.fun
mlton/trunk/mlton/codegen/x86-codegen/x86-translate.fun
mlton/trunk/mlton/codegen/x86-codegen/x86-validate.fun
mlton/trunk/mlton/codegen/x86-codegen/x86.fun
mlton/trunk/mlton/codegen/x86-codegen/x86.sig
mlton/trunk/mlton/control/region.sig
mlton/trunk/mlton/core-ml/core-ml.fun
mlton/trunk/mlton/defunctorize/defunctorize.fun
mlton/trunk/mlton/elaborate/elaborate-core.fun
mlton/trunk/mlton/elaborate/elaborate-env.fun
mlton/trunk/mlton/elaborate/elaborate-modules.fun
mlton/trunk/mlton/elaborate/interface.fun
mlton/trunk/mlton/elaborate/type-env.fun
mlton/trunk/mlton/front-end/ml.grm
mlton/trunk/mlton/front-end/ml.lex
mlton/trunk/mlton/front-end/mlb-front-end.fun
mlton/trunk/mlton/front-end/mlb.lex
mlton/trunk/mlton/main/compile.fun
mlton/trunk/mlton/main/lookup-constant.fun
mlton/trunk/mlton/main/main.fun
mlton/trunk/mlton/ssa/constant-propagation.fun
mlton/trunk/mlton/ssa/contify.fun
mlton/trunk/mlton/ssa/flatten.fun
mlton/trunk/mlton/ssa/multi.fun
mlton/trunk/mlton/ssa/redundant-tests.fun
mlton/trunk/mlton/ssa/remove-unused.fun
mlton/trunk/mlton/ssa/restore.fun
mlton/trunk/mlton/ssa/restore2.fun
mlton/trunk/mlton/ssa/shrink.fun
mlton/trunk/mlton/ssa/shrink2.fun
mlton/trunk/mlton/ssa/simplify-types.fun
mlton/trunk/mlton/ssa/ssa-tree.fun
mlton/trunk/mlton/ssa/ssa-tree2.fun
mlton/trunk/mlton/ssa/useless.fun
mlton/trunk/mlton/xml/monomorphise.fun
mlton/trunk/mlton/xml/polyvariance.fun
mlton/trunk/mlton/xml/type-check.fun
mlton/trunk/mlton/xml/uncurry.fun
mlton/trunk/mlton/xml/xml-tree.fun
mlton/trunk/mlyacc/README
mlton/trunk/mlyacc/doc/tech.doc
mlton/trunk/mlyacc/examples/fol/README
mlton/trunk/mlyacc/examples/fol/fol.grm
mlton/trunk/mlyacc/examples/fol/fol.lex
mlton/trunk/mlyacc/examples/pascal/pascal.grm
mlton/trunk/mlyacc/examples/pascal/pascal.lex
mlton/trunk/mlyacc/src/core.sml
mlton/trunk/mlyacc/src/coreutils.sml
mlton/trunk/mlyacc/src/grammar.sml
mlton/trunk/mlyacc/src/graph.sml
mlton/trunk/mlyacc/src/hdr.sml
mlton/trunk/mlyacc/src/lalr.sml
mlton/trunk/mlyacc/src/look.sml
mlton/trunk/mlyacc/src/mklrtable.sml
mlton/trunk/mlyacc/src/shrink.sml
mlton/trunk/mlyacc/src/sigs.sml
mlton/trunk/mlyacc/src/utils.sml
mlton/trunk/mlyacc/src/verbose.sml
mlton/trunk/mlyacc/src/yacc.grm
mlton/trunk/mlyacc/src/yacc.lex
mlton/trunk/mlyacc/src/yacc.sml
mlton/trunk/regression/README
mlton/trunk/regression/array.sml
mlton/trunk/regression/bytechar.sml
mlton/trunk/regression/eqtype.sml
mlton/trunk/regression/fail/eqtype.1.sml
mlton/trunk/regression/filesys.sml
mlton/trunk/regression/int.sml
mlton/trunk/regression/kitkbjul9.sml
mlton/trunk/regression/kitqsort.sml
mlton/trunk/regression/kitsimple.sml
mlton/trunk/regression/kkb36c.sml
mlton/trunk/regression/kkb_eq.sml
mlton/trunk/regression/life.sml
mlton/trunk/regression/llv.sml
mlton/trunk/regression/mlton.word.sml
mlton/trunk/regression/opaque.sml
mlton/trunk/regression/prodcons.sml
mlton/trunk/regression/real.sml
mlton/trunk/regression/ring.sml
mlton/trunk/regression/sharing.sml
mlton/trunk/regression/size.sml
mlton/trunk/regression/string.sml
mlton/trunk/regression/substring.sml
mlton/trunk/regression/suspend.sml
mlton/trunk/regression/unixpath.sml
mlton/trunk/regression/where.sml
mlton/trunk/regression/word.sml
mlton/trunk/runtime/Posix/FileSys/Dirstream.c
mlton/trunk/runtime/Posix/FileSys/Stat.c
mlton/trunk/runtime/Posix/ProcEnv/getgroups.c
mlton/trunk/runtime/Posix/Process/exece.c
mlton/trunk/runtime/Posix/Process/execp.c
mlton/trunk/runtime/Posix/Signal.c
mlton/trunk/runtime/Posix/SysDB/Group.c
mlton/trunk/runtime/assert.h
mlton/trunk/runtime/basis/Int/Word.c
mlton/trunk/runtime/basis/Int/Word8Array.c
mlton/trunk/runtime/basis/Int/Word8Vector.c
mlton/trunk/runtime/basis/IntInf.c
mlton/trunk/runtime/basis/Itimer/set.c
mlton/trunk/runtime/basis/MLton/allocTooLarge.c
mlton/trunk/runtime/basis/MLton/bug.c
mlton/trunk/runtime/basis/MLton/profile.c
mlton/trunk/runtime/basis/MLton/spawne.c
mlton/trunk/runtime/basis/MLton/spawnp.c
mlton/trunk/runtime/basis/PackReal.c
mlton/trunk/runtime/basis/Real/Math.c
mlton/trunk/runtime/basis/Real/class.c
mlton/trunk/runtime/basis/Real/real.c
mlton/trunk/runtime/gc.c
mlton/trunk/runtime/gc.h
mlton/trunk/runtime/platform.c
mlton/trunk/runtime/platform.h
mlton/trunk/runtime/platform/linux.c
mlton/trunk/runtime/platform/mingw.c
mlton/trunk/runtime/platform/mingw.h
mlton/trunk/runtime/platform/solaris.c
mlton/trunk/runtime/platform/totalRam.sysctl.c
mlton/trunk/runtime/platform/windows.c
mlton/trunk/util/cm2mlb/cm2mlb.sml
mlton/trunk/util/cmcat/cmcat.sml
Log:
MAIL reran tab expansion using expand
Reran the tab expansion on revision 4013, this time using the built-in
"expand" command, which correctly handles tabs that don't start at a
tab stop. There were 257 files containing such tabs.
For the record, here's the script.
----------------------------------------------------------------------
structure List =
struct
open List
fun exists (l, f) = List.exists f l
fun map (l, f) = List.map f l
end
structure String =
struct
open String
fun hasSuffix (s, {suffix}) =
Int.>= (size s, size suffix)
andalso suffix = extract (s, size s - size suffix, NONE)
end
val name = #file (OS.Path.splitDirFile (CommandLine.name ()))
fun die s =
(TextIO.output (TextIO.stdErr, s)
; let open OS.Process in exit failure end)
val root =
case CommandLine.arguments () of
[dir] => dir
| _ => die (concat ["usage: ", name, " <dir>"])
val numFiles = ref 0
val numFilesWithTabs = ref 0
val numTabs = ref 0
fun ++ x = x := 1 + !x
fun msg ss =
if true then () else
TextIO.output (TextIO.stdErr, concat [concat ss, "\n"])
val tab = CharVector.tabulate (8, fn _ => #" ")
fun replaceTabs (dir, f) =
let
val mode = Posix.FileSys.ST.mode (Posix.FileSys.stat f)
val tmp = OS.FileSys.tmpName ()
val () =
if OS.Process.success
= OS.Process.system (concat ["expand <", f, " >", tmp]) then
()
else
TextIO.output (TextIO.stdErr,
concat ["failed to expand: ",
OS.Path.joinDirFile {dir = dir, file = f}])
val () = OS.FileSys.rename {new = f, old = tmp}
val () = Posix.FileSys.chmod (f, mode)
in
()
end
val replaceSuffixes =
List.map
(["c", "cm", "doc", "el", "fun", "grm", "h", "lex", "mlb", "sig", "sml",
"tex", "txt"],
fn s => concat [".", s])
fun shouldReplace (dir, f) =
(dir = "./bin" andalso f <> "Makefile")
orelse List.exists (["changelog", "README", "README.Debian", "README.kit"],
fn f' => f = f')
orelse List.exists (replaceSuffixes, fn s =>
String.hasSuffix (f, {suffix = s}))
fun handleFile (dir, f) =
let
val () = ++numFiles
val isAscii = ref true
val hasTab = ref false
val hasStrangeTab = ref false
val numTabsInFile = ref 0
val ins = TextIO.openIn f
fun loop (filePos, column) =
case TextIO.input1 ins of
NONE => ()
| SOME c =>
if not (Char.isAscii c)
then isAscii := false
else
let
val () =
if c = #"\t" then
(++numTabsInFile
; hasTab := true
; if 0 = column mod 8 then ()
else hasStrangeTab := true)
else ()
in
loop (filePos + 1, if c = #"\n" then 0 else column + 1)
end
val () = loop (0, 0)
val () = TextIO.closeIn ins
val fullPath = OS.Path.joinDirFile {dir = dir, file = f}
val () =
if not (!isAscii) then ()
else if !hasTab then
(++numFilesWithTabs
; (if shouldReplace (dir, f) then replaceTabs (dir, f)
else (print (concat ["skipping ", fullPath, "\n"]))))
else ()
in
()
end
fun loop (dir, path) =
let
val () = msg ["entering ", dir]
open OS.FileSys
val saved = getDir ()
val () = chDir dir
val ds = openDir "."
val path = OS.Path.joinDirFile {dir = path, file = dir}
fun loop' () =
case readDir ds of
NONE => ()
| SOME s =>
let
val () =
case s of
"." => ()
| ".." => ()
| ".svn" => ()
| _ =>
if isDir s then loop (s, path)
else if isLink s then ()
else handleFile (path, s)
in
loop' ()
end
val () = loop' ()
val () = closeDir ds
val () = chDir saved
val () = msg ["leaving ", dir]
in
()
end
val () = loop (root, "")
val () =
List.app
(fn (s, r) =>
print (concat [s, " = ", Int.toString (!r), "\n"]))
[("numFiles", numFiles),
("numFilesWithTabs", numFilesWithTabs),
("numTabs", numTabs)]
Modified: mlton/trunk/basis-library/integer/int-inf.sml
===================================================================
--- mlton/trunk/basis-library/integer/int-inf.sml 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/basis-library/integer/int-inf.sml 2005-08-21 18:31:31 UTC (rev 4020)
@@ -232,7 +232,7 @@
else if w2 = 0wx80000000
then if w1 = 0w0 andalso sign = 0w1
then valOf Int64.minInt
- else raise Overflow
+ else raise Overflow
else
let
val n =
@@ -807,7 +807,7 @@
fun octReader z = reader (0w8, 9, octDig) z
fun decReader z = reader (0w10, 9, decDig) z
fun hexReader z = reader (0w16, 7, hexDig) z
- end
+ end
in
local fun stringReader (pos, str) =
Modified: mlton/trunk/basis-library/io/imperative-io.fun
===================================================================
--- mlton/trunk/basis-library/io/imperative-io.fun 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/basis-library/io/imperative-io.fun 2005-08-21 18:31:31 UTC (rev 4020)
@@ -740,15 +740,15 @@
(* sharing type Array.array = ArraySlice.array *)
sharing type
Array.elem
-(* = ArraySlice.elem *)
+(* = ArraySlice.elem *)
= StreamIO.elem
= Vector.elem
-(* = VectorSlice.elem *)
+(* = VectorSlice.elem *)
sharing type
Array.vector
-(* = ArraySlice.vector *)
+(* = ArraySlice.vector *)
= Vector.vector
-(* = VectorSlice.vector *)
+(* = VectorSlice.vector *)
(* sharing type ArraySlice.vector_slice = VectorSlice.slice *)
end
Modified: mlton/trunk/basis-library/io/io.sml
===================================================================
--- mlton/trunk/basis-library/io/io.sml 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/basis-library/io/io.sml 2005-08-21 18:31:31 UTC (rev 4020)
@@ -21,7 +21,7 @@
(fn e =>
case e of
Io {cause, function, name, ...} =>
- SOME (concat ["Io: ", function, " \"", name, "\" failed with ",
+ SOME (concat ["Io: ", function, " \"", name, "\" failed with ",
exnMessage cause])
| _ => NONE)
Modified: mlton/trunk/basis-library/io/stream-io.fun
===================================================================
--- mlton/trunk/basis-library/io/stream-io.fun 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/basis-library/io/stream-io.fun 2005-08-21 18:31:31 UTC (rev 4020)
@@ -858,7 +858,7 @@
val openOutstreams : (outstream * {close: bool}) list ref = ref []
val mkOutstream'' =
- let
+ let
val _ = Cleaner.addNew
(Cleaner.atExit, fn () =>
List.app (fn (os, {close}) =>
Modified: mlton/trunk/basis-library/io/text-io.sig
===================================================================
--- mlton/trunk/basis-library/io/text-io.sig 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/basis-library/io/text-io.sig 2005-08-21 18:31:31 UTC (rev 4020)
@@ -8,10 +8,10 @@
include TEXT_IO_GLOBAL
structure StreamIO: TEXT_STREAM_IO
-(* where type elem = Char.char *) (* redundant *)
+(* where type elem = Char.char *) (* redundant *)
where type pos = TextPrimIO.pos
where type reader = TextPrimIO.reader
-(* where type vector = CharVector.vector *) (* redundant *)
+(* where type vector = CharVector.vector *) (* redundant *)
where type writer = TextPrimIO.writer
type elem = StreamIO.elem
@@ -43,7 +43,7 @@
val output: outstream * vector -> unit
val outputSubstr: outstream * substring -> unit
val scanStream:
- ((Char.char, StreamIO.instream) StringCvt.reader
+ ((Char.char, StreamIO.instream) StringCvt.reader
-> ('a, StreamIO.instream) StringCvt.reader)
-> instream -> 'a option
val setInstream: (instream * StreamIO.instream) -> unit
Modified: mlton/trunk/basis-library/libs/basis-1997/io/bin-io.sig
===================================================================
--- mlton/trunk/basis-library/libs/basis-1997/io/bin-io.sig 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/basis-library/libs/basis-1997/io/bin-io.sig 2005-08-21 18:31:31 UTC (rev 4020)
@@ -19,7 +19,7 @@
val openIn: string -> instream
(*
val scanStream:
- ((Char.char, StreamIO.instream) StringCvt.reader
+ ((Char.char, StreamIO.instream) StringCvt.reader
-> ('a, StreamIO.instream) StringCvt.reader)
-> instream -> 'a option
*)
Modified: mlton/trunk/basis-library/libs/basis-1997/io/text-io.sig
===================================================================
--- mlton/trunk/basis-library/libs/basis-1997/io/text-io.sig 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/basis-library/libs/basis-1997/io/text-io.sig 2005-08-21 18:31:31 UTC (rev 4020)
@@ -20,7 +20,7 @@
val openIn: string -> instream
val print: string -> unit
val scanStream:
- ((Char.char, StreamIO.instream) StringCvt.reader
+ ((Char.char, StreamIO.instream) StringCvt.reader
-> ('a, StreamIO.instream) StringCvt.reader)
-> instream -> 'a option
val setInstream: (instream * StreamIO.instream) -> unit
Modified: mlton/trunk/basis-library/libs/basis-1997/top-level/basis.sml
===================================================================
--- mlton/trunk/basis-library/libs/basis-1997/top-level/basis.sml 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/basis-library/libs/basis-1997/top-level/basis.sml 2005-08-21 18:31:31 UTC (rev 4020)
@@ -46,7 +46,7 @@
structure IntArray2 = IntVectorArray.Array2
structure Int32VectorArray = MonoVectorArrayArray2Convert
(structure Vector = Int32Vector
- structure VectorSlice = Int32VectorSlice
+ structure VectorSlice = Int32VectorSlice
structure Array = Int32Array
structure ArraySlice = Int32ArraySlice
structure Array2 = Int32Array2)
@@ -73,7 +73,7 @@
structure Real64Array2 = Real64VectorArray.Array2
structure Word8VectorArray = MonoVectorArrayArray2Convert
(structure Vector = Word8Vector
- structure VectorSlice = Word8VectorSlice
+ structure VectorSlice = Word8VectorSlice
structure Array = Word8Array
structure ArraySlice = Word8ArraySlice
structure Array2 = Word8Array2)
Modified: mlton/trunk/basis-library/libs/basis-2002/top-level/basis.sig
===================================================================
--- mlton/trunk/basis-library/libs/basis-2002/top-level/basis.sig 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/basis-library/libs/basis-2002/top-level/basis.sig 2005-08-21 18:31:31 UTC (rev 4020)
@@ -80,49 +80,49 @@
val vector : 'a list -> 'a vector
(* Required structures *)
- structure Array : ARRAY
+ structure Array : ARRAY
structure ArraySlice : ARRAY_SLICE
- structure BinIO : BIN_IO
- structure BinPrimIO : PRIM_IO
- structure Bool : BOOL
- structure Byte : BYTE
- structure Char : CHAR
- structure CharArray : MONO_ARRAY
- structure CharArraySlice : MONO_ARRAY_SLICE
+ structure BinIO : BIN_IO
+ structure BinPrimIO : PRIM_IO
+ structure Bool : BOOL
+ structure Byte : BYTE
+ structure Char : CHAR
+ structure CharArray : MONO_ARRAY
+ structure CharArraySlice : MONO_ARRAY_SLICE
structure CharVector : MONO_VECTOR
- structure CharVectorSlice : MONO_VECTOR_SLICE
- structure CommandLine : COMMAND_LINE
- structure Date : DATE
- structure General : GENERAL
- structure IEEEReal : IEEE_REAL
- structure Int : INTEGER
- structure IO : IO
- structure LargeInt : INTEGER
+ structure CharVectorSlice : MONO_VECTOR_SLICE
+ structure CommandLine : COMMAND_LINE
+ structure Date : DATE
+ structure General : GENERAL
+ structure IEEEReal : IEEE_REAL
+ structure Int : INTEGER
+ structure IO : IO
+ structure LargeInt : INTEGER
structure LargeReal : REAL
structure LargeWord : WORD
- structure List : LIST
- structure ListPair : LIST_PAIR
- structure Math : MATH
- structure Option : OPTION
- structure OS : OS
- structure Position : INTEGER
- structure Real : REAL
- structure StringCvt : STRING_CVT
- structure String : STRING
- structure Substring : SUBSTRING
+ structure List : LIST
+ structure ListPair : LIST_PAIR
+ structure Math : MATH
+ structure Option : OPTION
+ structure OS : OS
+ structure Position : INTEGER
+ structure Real : REAL
+ structure StringCvt : STRING_CVT
+ structure String : STRING
+ structure Substring : SUBSTRING
structure TextIO : TEXT_IO
- structure TextPrimIO : PRIM_IO
- structure Text : TEXT
- structure Time : TIME
- structure Timer : TIMER
- structure VectorSlice : VECTOR_SLICE
- structure Vector : VECTOR
- structure Word : WORD
- structure Word8Array : MONO_ARRAY
- structure Word8Array2 : MONO_ARRAY2
- structure Word8ArraySlice : MONO_ARRAY_SLICE
- structure Word8Vector : MONO_VECTOR
- structure Word8VectorSlice : MONO_VECTOR_SLICE
+ structure TextPrimIO : PRIM_IO
+ structure Text : TEXT
+ structure Time : TIME
+ structure Timer : TIMER
+ structure VectorSlice : VECTOR_SLICE
+ structure Vector : VECTOR
+ structure Word : WORD
+ structure Word8Array : MONO_ARRAY
+ structure Word8Array2 : MONO_ARRAY2
+ structure Word8ArraySlice : MONO_ARRAY_SLICE
+ structure Word8Vector : MONO_VECTOR
+ structure Word8VectorSlice : MONO_VECTOR_SLICE
(* Optional structures *)
structure Array2 : ARRAY2
Modified: mlton/trunk/basis-library/libs/basis-extra/top-level/basis.sig
===================================================================
--- mlton/trunk/basis-library/libs/basis-extra/top-level/basis.sig 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/basis-library/libs/basis-extra/top-level/basis.sig 2005-08-21 18:31:31 UTC (rev 4020)
@@ -80,49 +80,49 @@
val vector : 'a list -> 'a vector
(* Required structures *)
- structure Array : ARRAY
+ structure Array : ARRAY
structure ArraySlice : ARRAY_SLICE
- structure BinIO : BIN_IO
- structure BinPrimIO : PRIM_IO
- structure Bool : BOOL
- structure Byte : BYTE
- structure Char : CHAR
- structure CharArray : MONO_ARRAY
- structure CharArraySlice : MONO_ARRAY_SLICE
+ structure BinIO : BIN_IO
+ structure BinPrimIO : PRIM_IO
+ structure Bool : BOOL
+ structure Byte : BYTE
+ structure Char : CHAR
+ structure CharArray : MONO_ARRAY
+ structure CharArraySlice : MONO_ARRAY_SLICE
structure CharVector : MONO_VECTOR
- structure CharVectorSlice : MONO_VECTOR_SLICE
- structure CommandLine : COMMAND_LINE
- structure Date : DATE
- structure General : GENERAL
- structure IEEEReal : IEEE_REAL
- structure Int : INTEGER
- structure IO : IO
- structure LargeInt : INTEGER
+ structure CharVectorSlice : MONO_VECTOR_SLICE
+ structure CommandLine : COMMAND_LINE
+ structure Date : DATE
+ structure General : GENERAL
+ structure IEEEReal : IEEE_REAL
+ structure Int : INTEGER
+ structure IO : IO
+ structure LargeInt : INTEGER
structure LargeReal : REAL
structure LargeWord : WORD
- structure List : LIST
- structure ListPair : LIST_PAIR
- structure Math : MATH
- structure Option : OPTION
- structure OS : OS
- structure Position : INTEGER
- structure Real : REAL
- structure StringCvt : STRING_CVT
- structure String : STRING
- structure Substring : SUBSTRING
+ structure List : LIST
+ structure ListPair : LIST_PAIR
+ structure Math : MATH
+ structure Option : OPTION
+ structure OS : OS
+ structure Position : INTEGER
+ structure Real : REAL
+ structure StringCvt : STRING_CVT
+ structure String : STRING
+ structure Substring : SUBSTRING
structure TextIO : TEXT_IO
- structure TextPrimIO : PRIM_IO
- structure Text : TEXT
- structure Time : TIME
- structure Timer : TIMER
- structure VectorSlice : VECTOR_SLICE
- structure Vector : VECTOR
- structure Word : WORD
- structure Word8Array : MONO_ARRAY
- structure Word8Array2 : MONO_ARRAY2
- structure Word8ArraySlice : MONO_ARRAY_SLICE
- structure Word8Vector : MONO_VECTOR
- structure Word8VectorSlice : MONO_VECTOR_SLICE
+ structure TextPrimIO : PRIM_IO
+ structure Text : TEXT
+ structure Time : TIME
+ structure Timer : TIMER
+ structure VectorSlice : VECTOR_SLICE
+ structure Vector : VECTOR
+ structure Word : WORD
+ structure Word8Array : MONO_ARRAY
+ structure Word8Array2 : MONO_ARRAY2
+ structure Word8ArraySlice : MONO_ARRAY_SLICE
+ structure Word8Vector : MONO_VECTOR
+ structure Word8VectorSlice : MONO_VECTOR_SLICE
(* Optional structures *)
structure Array2 : ARRAY2
Modified: mlton/trunk/basis-library/misc/primitive.sml
===================================================================
--- mlton/trunk/basis-library/misc/primitive.sml 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/basis-library/misc/primitive.sml 2005-08-21 18:31:31 UTC (rev 4020)
@@ -868,7 +868,7 @@
open Array
val array = _prim "Array_array": int -> 'a array;
- val array =
+ val array =
fn n => if safe andalso Int.< (n, 0)
then raise Size
else array n
@@ -895,7 +895,7 @@
val smallMul =
_import "IntInf_smallMul": word * word * word ref -> word;
val - = _prim "IntInf_sub": int * int * word -> int;
- val toString
+ val toString
= _prim "IntInf_toString": int * Int.int * word -> string;
val toVector = _prim "IntInf_toVector": int -> word vector;
val toWord = _prim "IntInf_toWord": int -> word;
@@ -1153,7 +1153,7 @@
struct
(* val htonl = _import "Net_htonl": int -> int; *)
(* val ntohl = _import "Net_ntohl": int -> int; *)
- val htons = _import "Net_htons": int -> int;
+ val htons = _import "Net_htons": int -> int;
val ntohs = _import "Net_ntohs": int -> int;
end
@@ -1279,7 +1279,7 @@
_prim "Pointer_setReal32": t * int * Real32.real -> unit;
val setReal64 =
_prim "Pointer_setReal64": t * int * Real64.real -> unit;
- val setWord8 =
+ val setWord8 =
_prim "Pointer_setWord8": t * int * Word8.word -> unit;
val setWord16 =
_prim "Pointer_setWord16": t * int * Word16.word -> unit;
Modified: mlton/trunk/basis-library/misc/reader.sml
===================================================================
--- mlton/trunk/basis-library/misc/reader.sml 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/basis-library/misc/reader.sml 2005-08-21 18:31:31 UTC (rev 4020)
@@ -16,23 +16,23 @@
(* local
* fun make finish p reader state =
* let
- * fun loop (state, token, tokens) =
- * case reader state of
- * NONE => SOME (rev (finish (token, tokens)), state)
- * | SOME (x, state) =>
- * let
- * val (token, tokens) =
- * if p x then ([], finish (token, tokens))
- * else (x :: token, tokens)
- * in loop (state, token, tokens)
- * end
+ * fun loop (state, token, tokens) =
+ * case reader state of
+ * NONE => SOME (rev (finish (token, tokens)), state)
+ * | SOME (x, state) =>
+ * let
+ * val (token, tokens) =
+ * if p x then ([], finish (token, tokens))
+ * else (x :: token, tokens)
+ * in loop (state, token, tokens)
+ * end
* in loop (state, [], [])
* end
* in
* fun tokens p = make (fn (token, tokens) =>
- * case token of
- * [] => tokens
- * | _ => (rev token) :: tokens) p
+ * case token of
+ * [] => tokens
+ * | _ => (rev token) :: tokens) p
* fun fields p = make (fn (field, fields) => (rev field) :: fields) p
* end
*)
Modified: mlton/trunk/basis-library/mlton/process.sml
===================================================================
--- mlton/trunk/basis-library/mlton/process.sml 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/basis-library/mlton/process.sml 2005-08-21 18:31:31 UTC (rev 4020)
@@ -354,7 +354,7 @@
in (Pid.toInt pid, fn () => pid)
end)
end
- else
+ else
case Posix.Process.fork () of
NONE => Posix.Process.execp (file, args)
| SOME pid => pid
Modified: mlton/trunk/basis-library/mlton/signal.sml
===================================================================
--- mlton/trunk/basis-library/mlton/signal.sml 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/basis-library/mlton/signal.sml 2005-08-21 18:31:31 UTC (rev 4020)
@@ -86,7 +86,7 @@
if Array.sub (validSignals, toInt s)
then case mask of
AllBut sigs => not (member (sigs, s))
- | Some sigs => member (sigs, s)
+ | Some sigs => member (sigs, s)
else raiseInval ()
end
end
Modified: mlton/trunk/basis-library/mlton/thread.sml
===================================================================
--- mlton/trunk/basis-library/mlton/thread.sml 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/basis-library/mlton/thread.sml 2005-08-21 18:31:31 UTC (rev 4020)
@@ -111,7 +111,7 @@
fun fail e = (t := Dead
; switching := false
; atomicEnd ()
- ; raise e)
+ ; raise e)
val (T t': Runnable.t) = f (T t) handle e => fail e
val primThread =
case !t' before t' := Dead of
Modified: mlton/trunk/basis-library/net/socket.sig
===================================================================
--- mlton/trunk/basis-library/net/socket.sig 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/basis-library/net/socket.sig 2005-08-21 18:31:31 UTC (rev 4020)
@@ -179,9 +179,9 @@
type optname = int
type request = int
-(* val getSockOptWord: level * optname -> ('af, 'sock_type) sock -> word *)
-(* val setSockOptWord:
- * level * optname -> ('af, 'sock_type) sock * word -> unit
+(* val getSockOptWord: level * optname -> ('af, 'sock_type) sock -> word *)
+(* val setSockOptWord:
+ * level * optname -> ('af, 'sock_type) sock * word -> unit
*)
val getERROR:
('af, 'sock_type) sock
@@ -193,11 +193,11 @@
val setSockOptBool:
level * optname -> ('af, 'sock_type) sock * bool -> unit
-(* val getIOCtlWord: request -> ('af, 'sock_type) sock -> word *)
-(* val setIOCtlWord: request -> ('af, 'sock_type) sock * word -> unit *)
+(* val getIOCtlWord: request -> ('af, 'sock_type) sock -> word *)
+(* val setIOCtlWord: request -> ('af, 'sock_type) sock * word -> unit *)
val getIOCtlInt: request -> ('af, 'sock_type) sock -> int
-(* val setIOCtlInt: request -> ('af, 'sock_type) sock * int -> unit *)
+(* val setIOCtlInt: request -> ('af, 'sock_type) sock * int -> unit *)
val getIOCtlBool: request -> ('af, 'sock_type) sock -> bool
-(* val setIOCtlBool: request -> ('af, 'sock_type) sock * bool -> unit *)
+(* val setIOCtlBool: request -> ('af, 'sock_type) sock * bool -> unit *)
end
end
Modified: mlton/trunk/basis-library/notes.txt
===================================================================
--- mlton/trunk/basis-library/notes.txt 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/basis-library/notes.txt 2005-08-21 18:31:31 UTC (rev 4020)
@@ -486,7 +486,7 @@
datatype ref = datatype ref
val ! : 'a ref -> 'a
val := : 'a ref * 'a -> unit
- val swap : 'a ref * 'a ref -> unit (* or :=: ? *)
+ val swap : 'a ref * 'a ref -> unit (* or :=: ? *)
val map : ('a -> 'a) -> 'a ref -> 'a ref
You might then consider removing ! and := from GENERAL.
Modified: mlton/trunk/basis-library/posix/file-sys.sml
===================================================================
--- mlton/trunk/basis-library/posix/file-sys.sml 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/basis-library/posix/file-sys.sml 2005-08-21 18:31:31 UTC (rev 4020)
@@ -234,7 +234,7 @@
wrap (fn (s, u, g) => Prim.chown (NullString.nullTerm s, u, g))
val fchown = wrap Prim.fchown
val ftruncate = wrapRestart Prim.ftruncate
- end
+ end
local
val size: int = 1024
Modified: mlton/trunk/basis-library/posix/primitive.sml
===================================================================
--- mlton/trunk/basis-library/posix/primitive.sml 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/basis-library/posix/primitive.sml 2005-08-21 18:31:31 UTC (rev 4020)
@@ -200,7 +200,7 @@
val nanosleep =
_import "Posix_Process_nanosleep": int ref * int ref -> int;
val pause = _import "Posix_Process_pause": unit -> int;
-(* val sleep = _import "Posix_Process_sleep": int -> int; *)
+(* val sleep = _import "Posix_Process_sleep": int -> int; *)
val stopSig = _import "Posix_Process_stopSig": Status.t -> Signal.t;
val system =
_import "Posix_Process_system": NullString.t -> Status.t;
@@ -320,13 +320,13 @@
structure S =
struct
type mode = word
-(* val ifsock = _const "Posix_FileSys_S_ifsock": mode; *)
-(* val iflnk = _const "Posix_FileSys_S_iflnk": mode; *)
-(* val ifreg = _const "Posix_FileSys_S_ifreg": mode; *)
-(* val ifblk = _const "Posix_FileSys_S_ifblk": mode; *)
-(* val ifdir = _const "Posix_FileSys_S_ifdir": mode; *)
-(* val ifchr = _const "Posix_FileSys_S_ifchr": mode; *)
-(* val ififo = _const "Posix_FileSys_S_ififo": mode; *)
+(* val ifsock = _const "Posix_FileSys_S_ifsock": mode; *)
+(* val iflnk = _const "Posix_FileSys_S_iflnk": mode; *)
+(* val ifreg = _const "Posix_FileSys_S_ifreg": mode; *)
+(* val ifblk = _const "Posix_FileSys_S_ifblk": mode; *)
+(* val ifdir = _const "Posix_FileSys_S_ifdir": mode; *)
+(* val ifchr = _const "Posix_FileSys_S_ifchr": mode; *)
+(* val ififo = _const "Posix_FileSys_S_ififo": mode; *)
val irwxu = _const "Posix_FileSys_S_irwxu": mode;
val irusr = _const "Posix_FileSys_S_irusr": mode;
val iwusr = _const "Posix_FileSys_S_iwusr": mode;
@@ -499,8 +499,8 @@
val F_WRLCK = _const "Posix_IO_F_WRLCK": int;
val F_UNLCK = _const "Posix_IO_F_UNLCK": int;
val F_SETLKW = _const "Posix_IO_F_SETLKW": int;
-(* val F_GETOWN = _const "Posix_IO_F_GETOWN": int; *)
-(* val F_SETOWN = _const "Posix_IO_F_SETOWN": int; *)
+(* val F_GETOWN = _const "Posix_IO_F_GETOWN": int; *)
+(* val F_SETOWN = _const "Posix_IO_F_SETOWN": int; *)
val O_ACCMODE = _const "Posix_IO_O_ACCMODE": word;
val SEEK_SET = _const "Posix_IO_SEEK_SET": int;
val SEEK_CUR = _const "Posix_IO_SEEK_CUR": int;
@@ -531,7 +531,7 @@
_import "Posix_IO_FLock_setStart": Position.int -> unit;
val setLen =
_import "Posix_IO_FLock_setLen": Position.int -> unit;
-(* val setPid = _import "Posix_IO_FLock_setPid": Pid.t -> unit; *)
+(* val setPid = _import "Posix_IO_FLock_setPid": Pid.t -> unit; *)
end
val close = _import "Posix_IO_close": fd -> int;
@@ -575,7 +575,7 @@
_import "Posix_IO_write": fd * word8 array * int * size -> ssize;
val writeWord8Vec =
_import "Posix_IO_write": fd * word8 vector * int * size -> ssize;
- end
+ end
structure SysDB =
struct
@@ -717,7 +717,7 @@
val iflush = _const "Posix_TTY_TC_iflush": queue_sel;
val ioflush = _const "Posix_TTY_TC_ioflush": queue_sel;
val oflush = _const "Posix_TTY_TC_oflush": queue_sel;
- end
+ end
structure Termios =
struct
Modified: mlton/trunk/basis-library/posix/process.sml
===================================================================
--- mlton/trunk/basis-library/posix/process.sml 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/basis-library/posix/process.sml 2005-08-21 18:31:31 UTC (rev 4020)
@@ -168,7 +168,7 @@
handle Overflow => Error.raiseSys Error.inval)))
in
val alarm = wrap Prim.alarm
-(* val sleep = wrap Prim.sleep *)
+(* val sleep = wrap Prim.sleep *)
end
fun sleep (t: Time.time): Time.time =
Modified: mlton/trunk/basis-library/real/real.fun
===================================================================
--- mlton/trunk/basis-library/real/real.fun 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/basis-library/real/real.fun 2005-08-21 18:31:31 UTC (rev 4020)
@@ -351,7 +351,7 @@
if Int.< (exp, 0)
then concat ["-", Int.toString (Int.~ exp)]
else Int.toString exp
-(* val x = concat ["0.", digits, "E", exp, "\000"] *)
+(* val x = concat ["0.", digits, "E", exp, "\000"] *)
val n =
Int.+ (4, Int.+ (List.length digits, String.size exp))
val a = Array.rawArray n
@@ -638,7 +638,7 @@
val x = Prim.strto (NullString.fromString
(concat [LargeInt.toString i, "\000"]))
in
- if sign then ~ x else x
+ if sign then ~ x else x
end
val toLargeInt: IEEEReal.rounding_mode -> real -> LargeInt.int =
Modified: mlton/trunk/basis-library/real/real.sig
===================================================================
--- mlton/trunk/basis-library/real/real.sig 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/basis-library/real/real.sig 2005-08-21 18:31:31 UTC (rev 4020)
@@ -44,7 +44,7 @@
val signBit: real -> bool
val strto: NullString.t -> real
val toInt: real -> int
- val toLarge: real -> LargeReal.real
+ val toLarge: real -> LargeReal.real
end
signature REAL_GLOBAL =
Modified: mlton/trunk/basis-library/sml-nj/sml-nj.sml
===================================================================
--- mlton/trunk/basis-library/sml-nj/sml-nj.sml 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/basis-library/sml-nj/sml-nj.sml 2005-08-21 18:31:31 UTC (rev 4020)
@@ -16,7 +16,7 @@
val callcc = C.callcc
fun throw k v = C.throw (k, v)
end
-
+
structure SysInfo =
struct
exception UNKNOWN
Modified: mlton/trunk/basis-library/sml-nj/unsafe.sml
===================================================================
--- mlton/trunk/basis-library/sml-nj/unsafe.sml 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/basis-library/sml-nj/unsafe.sml 2005-08-21 18:31:31 UTC (rev 4020)
@@ -35,7 +35,7 @@
structure CharVector = UnsafeMonoVector (CharVector)
structure Real64Array = UnsafeMonoArray (Real64Array)
structure Vector =
- struct
+ struct
val sub = Vector.unsafeSub
end
structure Word8Array = UnsafeMonoArray (Word8Array)
Modified: mlton/trunk/basis-library/system/date.sml
===================================================================
--- mlton/trunk/basis-library/system/date.sml 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/basis-library/system/date.sml 2005-08-21 18:31:31 UTC (rev 4020)
@@ -60,7 +60,7 @@
(* 86400 = 24*60*6 is the number of seconds per day *)
type tmoz = {tm_hour : int,
- tm_isdst : int, (* 0 = no, 1 = yes, ~1 = don't know *)
+ tm_isdst : int, (* 0 = no, 1 = yes, ~1 = don't know *)
tm_mday : int,
tm_min : int,
tm_mon : int,
@@ -235,7 +235,7 @@
(year-1, Dec, 31)
else
loop 0 day
- end
+ end
(* -------------------------------------------------- *)
@@ -312,7 +312,7 @@
Array.update (a, Char.ord (String.sub (validChars, i)), true));
fn c => Array.sub (a, Char.ord c)
end
- in
+ in
fun fmt fmtStr d =
let
val _ = setTmBuf (dateToTmoz d)
@@ -511,7 +511,7 @@
in
cmp (y1, y2,
fn _ => cmp (frommonth mo1, frommonth mo2,
- fn _ => cmp (d1, d2,
+ fn _ => cmp (d1, d2,
fn _ => cmp (h1, h2,
fn _ => cmp (mi1, mi2,
fn _ => cmp (s1, s2,
Modified: mlton/trunk/basis-library/system/time.sml
===================================================================
--- mlton/trunk/basis-library/system/time.sml 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/basis-library/system/time.sml 2005-08-21 18:31:31 UTC (rev 4020)
@@ -118,9 +118,9 @@
else case getc src of
NONE => SOME (mkTime sign intv fracv decs, src)
| SOME (c, rest) =>
- (case charToDigit c of
- NONE => SOME (mkTime sign intv fracv decs, src)
- | SOME d => frac' sign intv (10 * fracv + d) (decs + 1) rest)
+ (case charToDigit c of
+ NONE => SOME (mkTime sign intv fracv decs, src)
+ | SOME d => frac' sign intv (10 * fracv + d) (decs + 1) rest)
fun frac sign intv src =
case getc src of
NONE => NONE
Modified: mlton/trunk/basis-library/text/char.sml
===================================================================
--- mlton/trunk/basis-library/text/char.sml 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/basis-library/text/char.sml 2005-08-21 18:31:31 UTC (rev 4020)
@@ -9,7 +9,7 @@
structure Char: CHAR_EXTRA =
struct
open Char0
-
+
fun control reader state =
case reader state of
NONE => NONE
Modified: mlton/trunk/benchmark/main.sml
===================================================================
--- mlton/trunk/benchmark/main.sml 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/benchmark/main.sml 2005-08-21 18:31:31 UTC (rev 4020)
@@ -518,7 +518,7 @@
else
let
val rows = rows toStringHtml
- in
+ in
prow (hd rows)
; (List.foreach
(tl rows,
Modified: mlton/trunk/benchmark/tests/DATA/ml.grm
===================================================================
--- mlton/trunk/benchmark/tests/DATA/ml.grm 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/benchmark/tests/DATA/ml.grm 2005-08-21 18:31:31 UTC (rev 4020)
@@ -37,7 +37,7 @@
let val (r1,env1) = do1 env
val (r2,env2) = do2 (Env.atop(env1,env))
in (r1 @ r2, Env.atop(env2,env1))
- end
+ end
fun seqdec (d,e) = ([d],e)
@@ -125,7 +125,7 @@
| sigb of signatureVar list withenv enved
| str of strtype
| sdecs of dec list withenv epathnstamped
- | sdecs' of dec list withenv epathnstamped
+ | sdecs' of dec list withenv epathnstamped
| sdec of dec withenv epathnstamped
| strb of bool -> (symbol*structureVar*strb) list epathstamped
| fparam of functorFormal
@@ -175,50 +175,50 @@
%%
-int : INT (INT)
- | INT0 (INT0)
+int : INT (INT)
+ | INT0 (INT0)
-id : ID (ID)
- | ASTERISK ("*")
+id : ID (ID)
+ | ASTERISK ("*")
-ident : ID (ID)
- | ASTERISK ("*")
- | EQUAL ("=")
+ident : ID (ID)
+ | ASTERISK ("*")
+ | EQUAL ("=")
-op_op : OP (fn()=> error (OPleft,OPright) WARN "unnecessary `op'")
- | (fn()=>())
+op_op : OP (fn()=> error (OPleft,OPright) WARN "unnecessary `op'")
+ | (fn()=>())
-opid : id (fn env => let val (v,f) = var'n'fix id
+opid : id (fn env => let val (v,f) = var'n'fix id
in case lookFIX env f of NONfix => ()
| _ => error (idleft,idright) COMPLAIN
"nonfix identifier required";
v
end)
- | OP ident (fn _ => varSymbol ident)
+ | OP ident (fn _ => varSymbol ident)
-qid : ID DOT qid (fn kind => strSymbol ID :: qid kind)
- | ident (fn kind => [kind ident])
+qid : ID DOT qid (fn kind => strSymbol ID :: qid kind)
+ | ident (fn kind => [kind ident])
-selector: id (labSymbol id)
- | INT (Symbol.labSymbol(makestring INT))
+selector: id (labSymbol id)
+ | INT (Symbol.labSymbol(makestring INT))
-tycon : ID DOT tycon (strSymbol ID :: tycon)
- | ID ([tycSymbol ID])
+tycon : ID DOT tycon (strSymbol ID :: tycon)
+ | ID ([tycSymbol ID])
-tlabel : selector COLON ty (fn $ =>(selector, E ty $), V ty)
+tlabel : selector COLON ty (fn $ =>(selector, E ty $), V ty)
-tlabels : tlabel COMMA tlabels (fn $ => E tlabel $ :: E tlabels $,
+tlabels : tlabel COMMA tlabels (fn $ => E tlabel $ :: E tlabels $,
V tlabel \/ V tlabels)
| tlabel (fn $ => [E tlabel $], V tlabel)
-ty' : TYVAR (let val tyv = mkTyvar(mkUBOUND(tyvSymbol TYVAR))
+ty' : TYVAR (let val tyv = mkTyvar(mkUBOUND(tyvSymbol TYVAR))
in (fn _ => VARty tyv, singleton_tyvar tyv)
end)
| LBRACE tlabels
RBRACE (fn $ => make_recordTy(E tlabels $,
error(LBRACEleft,RBRACEright)),
V tlabels)
- | LBRACE RBRACE (fn _ => make_recordTy(nil,
+ | LBRACE RBRACE (fn _ => make_recordTy(nil,
error(LBRACEleft,RBRACEright)),
no_tyvars)
| LPAREN ty0_pc
@@ -229,12 +229,12 @@
ts)
end,
V ty0_pc)
- | LPAREN ty RPAREN (ty)
- | ty' tycon (fn env =>CONty(lookPathArTYC env (tycon,1,
+ | LPAREN ty RPAREN (ty)
+ | ty' tycon (fn env =>CONty(lookPathArTYC env (tycon,1,
error(tyconleft,tyconright)COMPLAIN),
[E ty' env]),
V ty')
- | tycon (fn env =>CONty(lookPathArTYC env (tycon, 0,
+ | tycon (fn env =>CONty(lookPathArTYC env (tycon, 0,
error(tyconleft,tyconright)COMPLAIN),[]),
no_tyvars)
@@ -242,42 +242,42 @@
tuple_ty (fn $ => E ty' $ :: E tuple_ty $,
V ty' \/ V tuple_ty)
| ty' ASTERISK
- ty' (fn $ =>[E ty'1 $, E ty'2 $], V ty'1 \/ V ty'2)
+ ty' (fn $ =>[E ty'1 $, E ty'2 $], V ty'1 \/ V ty'2)
-ty : tuple_ty (fn $ =>tupleTy(E tuple_ty $), V tuple_ty)
- | ty ARROW ty (fn $ =>CONty(arrowTycon, [E ty1 $, E ty2 $]),
+ty : tuple_ty (fn $ =>tupleTy(E tuple_ty $), V tuple_ty)
+ | ty ARROW ty (fn $ =>CONty(arrowTycon, [E ty1 $, E ty2 $]),
V ty1 \/ V ty2)
- | ty' (ty')
+ | ty' (ty')
-ty0_pc : ty COMMA ty (fn $ => [E ty1 $, E ty2 $], V ty1 \/ V ty2)
+ty0_pc : ty COMMA ty (fn $ => [E ty1 $, E ty2 $], V ty1 \/ V ty2)
| ty COMMA
- ty0_pc (fn $ => E ty $ :: E ty0_pc $, V ty \/ V ty0_pc)
+ ty0_pc (fn $ => E ty $ :: E ty0_pc $, V ty \/ V ty0_pc)
-match : rule (fn evst => [E rule evst], V rule)
+match : rule (fn evst => [E rule evst], V rule)
| rule BAR
- match (fn evst => E rule evst :: E match evst,
+ match (fn evst => E rule evst :: E match evst,
V rule \/ V match)
-rule : pat DARROW
- exp (makeRULE(E pat, fn $ => markexp(E exp $,expleft,expright),
+rule : pat DARROW
+ exp (makeRULE(E pat, fn $ => markexp(E exp $,expleft,expright),
error(patleft,patright)),
V pat \/ V exp)
-elabel : selector EQUAL
- exp (fn evst => (selector,E exp evst), V exp)
+elabel : selector EQUAL
+ exp (fn evst => (selector,E exp evst), V exp)
elabels : elabel COMMA
- elabels (fn evst => (E elabel evst :: E elabels evst),
+ elabels (fn evst => (E elabel evst :: E elabels evst),
V elabel \/ V elabels)
| elabel (fn evst => [E elabel evst], V elabel)
-exp_ps : exp (fn st => [E exp st], V exp)
+exp_ps : exp (fn st => [E exp st], V exp)
| exp SEMICOLON
- exp_ps (fn st => E exp st :: E exp_ps st, V exp \/ V exp_ps)
+ exp_ps (fn st => E exp st :: E exp_ps st, V exp \/ V exp_ps)
-exp : exp HANDLE
- match (fn st=> makeHANDLEexp(E exp st, E match st),
+exp : exp HANDLE
+ match (fn st=> makeHANDLEexp(E exp st, E match st),
V exp \/ V match)
| exp ORELSE exp
@@ -288,38 +288,38 @@
(fn st=> ANDALSOexp(markexp(E exp1 st,exp1left,exp1right),
markexp(E exp2 st,exp2left,exp2right)),
V exp1 \/ V exp2)
- | exp COLON ty (fn (st as (env,_,_))=> CONSTRAINTexp(E exp st,
+ | exp COLON ty (fn (st as (env,_,_))=> CONSTRAINTexp(E exp st,
E ty env),
V exp \/ V ty)
- | app_exp (fn st=> exp_finish(E app_exp st,
+ | app_exp (fn st=> exp_finish(E app_exp st,
error(app_expright,app_expright)),
V app_exp)
- | FN match (fn st=> markexp(FNexp(completeMatch(E match st)),
+ | FN match (fn st=> markexp(FNexp(completeMatch(E match st)),
FNleft,matchright),
V match)
| CASE exp
- OF match (fn st=>markexp(CASEexp(E exp st,
+ OF match (fn st=>markexp(CASEexp(E exp st,
completeMatch(E match st)),
CASEleft,matchright),
V exp \/ V match)
| WHILE exp
- DO exp (fn st=> WHILEexp(E exp1 st,
+ DO exp (fn st=> WHILEexp(E exp1 st,
markexp(E exp2 st,exp2left,exp2right)),
V exp1 \/ V exp2)
| IF exp THEN exp
- ELSE exp (fn st=>IFexp(E exp1 st,
+ ELSE exp (fn st=>IFexp(E exp1 st,
markexp(E exp2 st,exp2left,exp2right),
markexp(E exp3 st,exp3left,exp3right)),
V exp1 \/ V exp2 \/ V exp3)
- | RAISE exp (fn st=>markexp(RAISEexp(E exp st),RAISEleft,expright),
+ | RAISE exp (fn st=>markexp(RAISEexp(E exp st),RAISEleft,expright),
V exp)
-app_exp : aexp (fn st => exp_start(markexp(E aexp st, aexpleft,aexpright),
+app_exp : aexp (fn st => exp_start(markexp(E aexp st, aexpleft,aexpright),
NONfix,
error (aexpleft,aexpright)),
V aexp)
- | ident (fn (env,_,_) =>
+ | ident (fn (env,_,_) =>
let val e = error(identleft,identright)
val (v,f) = var'n'fix ident
in exp_start(markexp(lookID env (v,e),
@@ -327,12 +327,12 @@
lookFIX env f, e)
end,
no_tyvars)
- | app_exp aexp (fn st => exp_parse(E app_exp st,
+ | app_exp aexp (fn st => exp_parse(E app_exp st,
markexp(E aexp st, aexpleft,aexpright),
NONfix,
error (aexpleft,aexpright)),
V app_exp \/ V aexp)
- | app_exp ident (fn (st as (env,_,_)) =>
+ | app_exp ident (fn (st as (env,_,_)) =>
let val e = error(identleft,identright)
val (v,f) = var'n'fix ident...
[truncated message content] |
|
From: Stephen W. <sw...@ml...> - 2005-08-20 19:03:54
|
Author: sweeks Date: 2005-08-20 19:03:48 -0700 (Sat, 20 Aug 2005) New Revision: 4018 Modified: mlton/trunk/Makefile Log: MAIL another test of commit email Now, commit emails that go to ML...@ml... will *not* include the diff, since it's easily available via svn and via the MLton-commit list. Modified: mlton/trunk/Makefile =================================================================== --- mlton/trunk/Makefile 2005-08-20 23:11:30 UTC (rev 4017) +++ mlton/trunk/Makefile 2005-08-21 02:03:48 UTC (rev 4018) @@ -4,7 +4,7 @@ # # MLton is released under a BSD-style license. # See the file MLton-LICENSE for details. - # + ## export TARGET = self export TARGET_ARCH = $(shell bin/host-arch) |
|
From: Stephen W. <sw...@ml...> - 2005-08-20 18:18:25
|
Author: sweeks Date: 2005-08-20 14:57:20 -0700 (Sat, 20 Aug 2005) New Revision: 4016 Modified: mlton/trunk/mlton/sources.cm Log: Eliminated tab. Modified: mlton/trunk/mlton/sources.cm =================================================================== --- mlton/trunk/mlton/sources.cm 2005-08-20 21:53:28 UTC (rev 4015) +++ mlton/trunk/mlton/sources.cm 2005-08-20 21:57:20 UTC (rev 4016) @@ -9,4 +9,4 @@ Group is main/sources.cm - + |
|
From: Stephen W. <sw...@ml...> - 2005-08-20 18:13:58
|
Author: sweeks Date: 2005-08-20 14:57:20 -0700 (Sat, 20 Aug 2005) New Revision: 4016 Modified: mlton/trunk/mlton/sources.cm Log: Eliminated tab. Modified: mlton/trunk/mlton/sources.cm =================================================================== --- mlton/trunk/mlton/sources.cm 2005-08-20 21:53:28 UTC (rev 4015) +++ mlton/trunk/mlton/sources.cm 2005-08-20 21:57:20 UTC (rev 4016) @@ -9,4 +9,4 @@ Group is main/sources.cm - + |