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
|
Oct
|
Nov
|
Dec
|
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 +M...@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 - + |
From: Stephen W. <sw...@ml...> - 2005-08-20 14:57:26
|
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 14:53:33
|
Author: sweeks Date: 2005-08-20 14:53:28 -0700 (Sat, 20 Aug 2005) New Revision: 4015 Modified: mlton/trunk/mlton/sources.cm Log: Attempt to commit code with tabs should fail. Modified: mlton/trunk/mlton/sources.cm =================================================================== --- mlton/trunk/mlton/sources.cm 2005-08-20 21:01:54 UTC (rev 4014) +++ mlton/trunk/mlton/sources.cm 2005-08-20 21:53:28 UTC (rev 4015) @@ -9,3 +9,4 @@ Group is main/sources.cm + |
Author: sweeks Date: 2005-08-20 14:01:54 -0700 (Sat, 20 Aug 2005) New Revision: 4014 Modified: mlton/trunk/basis-library/README mlton/trunk/basis-library/arrays-and-vectors/array-slice.sig mlton/trunk/basis-library/arrays-and-vectors/array.sml mlton/trunk/basis-library/arrays-and-vectors/array2.sig mlton/trunk/basis-library/arrays-and-vectors/array2.sml mlton/trunk/basis-library/arrays-and-vectors/mono-array-slice.sig mlton/trunk/basis-library/arrays-and-vectors/mono-array.fun mlton/trunk/basis-library/arrays-and-vectors/mono-array.sig mlton/trunk/basis-library/arrays-and-vectors/mono-array2.fun mlton/trunk/basis-library/arrays-and-vectors/mono-array2.sig mlton/trunk/basis-library/arrays-and-vectors/mono-vector-slice.sig mlton/trunk/basis-library/arrays-and-vectors/mono-vector.fun mlton/trunk/basis-library/arrays-and-vectors/mono-vector.sig mlton/trunk/basis-library/arrays-and-vectors/mono.sml mlton/trunk/basis-library/arrays-and-vectors/sequence.fun mlton/trunk/basis-library/arrays-and-vectors/sequence.sig mlton/trunk/basis-library/arrays-and-vectors/slice.sig mlton/trunk/basis-library/arrays-and-vectors/vector.sml mlton/trunk/basis-library/basis-1997.mlb mlton/trunk/basis-library/basis-2002.mlb mlton/trunk/basis-library/general/bool.sml mlton/trunk/basis-library/general/general.sml mlton/trunk/basis-library/general/option.sig mlton/trunk/basis-library/general/sml90.sml mlton/trunk/basis-library/integer/embed-int.sml mlton/trunk/basis-library/integer/embed-word.sml mlton/trunk/basis-library/integer/int-inf.sig mlton/trunk/basis-library/integer/int-inf.sml mlton/trunk/basis-library/integer/int.sml mlton/trunk/basis-library/integer/integer.sig mlton/trunk/basis-library/integer/pack-word32.sml mlton/trunk/basis-library/integer/patch.sml mlton/trunk/basis-library/integer/word.sig mlton/trunk/basis-library/integer/word.sml mlton/trunk/basis-library/io/bin-io.sig mlton/trunk/basis-library/io/bin-io.sml mlton/trunk/basis-library/io/bin-prim-io.sml mlton/trunk/basis-library/io/imperative-io.fun mlton/trunk/basis-library/io/imperative-io.sig mlton/trunk/basis-library/io/io.sig mlton/trunk/basis-library/io/io.sml mlton/trunk/basis-library/io/prim-io.fun mlton/trunk/basis-library/io/prim-io.sig mlton/trunk/basis-library/io/stream-io.fun mlton/trunk/basis-library/io/stream-io.sig mlton/trunk/basis-library/io/text-io.sig mlton/trunk/basis-library/io/text-io.sml mlton/trunk/basis-library/io/text-prim-io.sml mlton/trunk/basis-library/io/text-stream-io.sig mlton/trunk/basis-library/libs/basis-1997/arrays-and-vectors/array.sig mlton/trunk/basis-library/libs/basis-1997/arrays-and-vectors/mono-array.sig mlton/trunk/basis-library/libs/basis-1997/arrays-and-vectors/mono-array2.sig mlton/trunk/basis-library/libs/basis-1997/arrays-and-vectors/mono-vector-array-array2-convert.fun mlton/trunk/basis-library/libs/basis-1997/arrays-and-vectors/vector-array-convert.fun mlton/trunk/basis-library/libs/basis-1997/integer/word.sig mlton/trunk/basis-library/libs/basis-1997/io/bin-io-convert.fun mlton/trunk/basis-library/libs/basis-1997/io/bin-io.sig mlton/trunk/basis-library/libs/basis-1997/io/bin-stream-io.sig mlton/trunk/basis-library/libs/basis-1997/io/io.sig mlton/trunk/basis-library/libs/basis-1997/io/text-io-convert.fun mlton/trunk/basis-library/libs/basis-1997/io/text-io.sig mlton/trunk/basis-library/libs/basis-1997/io/text-stream-io.sig mlton/trunk/basis-library/libs/basis-1997/posix/file-sys-convert.fun mlton/trunk/basis-library/libs/basis-1997/posix/file-sys.sig mlton/trunk/basis-library/libs/basis-1997/posix/io-convert.fun mlton/trunk/basis-library/libs/basis-1997/posix/io.sig mlton/trunk/basis-library/libs/basis-1997/posix/process-convert.fun mlton/trunk/basis-library/libs/basis-1997/posix/process.sig mlton/trunk/basis-library/libs/basis-1997/posix/tty-convert.fun mlton/trunk/basis-library/libs/basis-1997/posix/tty.sig mlton/trunk/basis-library/libs/basis-1997/real/IEEE-real-convert.fun mlton/trunk/basis-library/libs/basis-1997/real/IEEE-real.sig mlton/trunk/basis-library/libs/basis-1997/real/real.sig mlton/trunk/basis-library/libs/basis-1997/system/file-sys-convert.fun mlton/trunk/basis-library/libs/basis-1997/system/file-sys.sig mlton/trunk/basis-library/libs/basis-1997/system/os.sig mlton/trunk/basis-library/libs/basis-1997/system/timer-convert.fun mlton/trunk/basis-library/libs/basis-1997/system/unix.sig mlton/trunk/basis-library/libs/basis-1997/text/string.sig mlton/trunk/basis-library/libs/basis-1997/text/substring.sig mlton/trunk/basis-library/libs/basis-1997/text/text-convert.fun 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-2002/top-level/generate-overloads.sml mlton/trunk/basis-library/libs/basis-extra/basis-extra.mlb mlton/trunk/basis-library/libs/basis-extra/top-level/basis.sig mlton/trunk/basis-library/libs/basis-extra/top-level/basis.sml mlton/trunk/basis-library/list/list-pair.sml mlton/trunk/basis-library/list/list.sml mlton/trunk/basis-library/misc/C.sig mlton/trunk/basis-library/misc/C.sml mlton/trunk/basis-library/misc/dynamic-wind.sml mlton/trunk/basis-library/misc/primitive.sml mlton/trunk/basis-library/misc/reader.sig mlton/trunk/basis-library/misc/reader.sml mlton/trunk/basis-library/misc/unique-id.sig mlton/trunk/basis-library/misc/util.sml mlton/trunk/basis-library/mlton/call-stack.sml mlton/trunk/basis-library/mlton/cont.sml mlton/trunk/basis-library/mlton/exit.sml mlton/trunk/basis-library/mlton/exn.sml mlton/trunk/basis-library/mlton/ffi.sml mlton/trunk/basis-library/mlton/finalizable.sml mlton/trunk/basis-library/mlton/int-inf.sig mlton/trunk/basis-library/mlton/io.fun mlton/trunk/basis-library/mlton/io.sig mlton/trunk/basis-library/mlton/itimer.sig mlton/trunk/basis-library/mlton/itimer.sml mlton/trunk/basis-library/mlton/mlton.sml mlton/trunk/basis-library/mlton/platform.sig mlton/trunk/basis-library/mlton/platform.sml mlton/trunk/basis-library/mlton/proc-env.sml mlton/trunk/basis-library/mlton/process.sig mlton/trunk/basis-library/mlton/process.sml mlton/trunk/basis-library/mlton/profile.sig mlton/trunk/basis-library/mlton/profile.sml mlton/trunk/basis-library/mlton/ptrace.sml mlton/trunk/basis-library/mlton/random.sig mlton/trunk/basis-library/mlton/random.sml mlton/trunk/basis-library/mlton/rlimit.sig mlton/trunk/basis-library/mlton/rlimit.sml mlton/trunk/basis-library/mlton/rusage.sig mlton/trunk/basis-library/mlton/rusage.sml mlton/trunk/basis-library/mlton/signal.sig mlton/trunk/basis-library/mlton/signal.sml mlton/trunk/basis-library/mlton/socket.sig mlton/trunk/basis-library/mlton/socket.sml mlton/trunk/basis-library/mlton/syslog.sig mlton/trunk/basis-library/mlton/syslog.sml mlton/trunk/basis-library/mlton/thread.sig mlton/trunk/basis-library/mlton/thread.sml mlton/trunk/basis-library/mlton/weak.sml mlton/trunk/basis-library/mlton/word.sig mlton/trunk/basis-library/mlton/world.sml mlton/trunk/basis-library/net/generic-sock.sig mlton/trunk/basis-library/net/generic-sock.sml mlton/trunk/basis-library/net/inet-sock.sig mlton/trunk/basis-library/net/inet-sock.sml mlton/trunk/basis-library/net/net-host-db.sig mlton/trunk/basis-library/net/net-host-db.sml mlton/trunk/basis-library/net/net-prot-db.sml mlton/trunk/basis-library/net/net-serv-db.sml mlton/trunk/basis-library/net/socket.sig mlton/trunk/basis-library/net/socket.sml mlton/trunk/basis-library/net/unix-sock.sig mlton/trunk/basis-library/net/unix-sock.sml mlton/trunk/basis-library/notes.txt mlton/trunk/basis-library/overloads.mlb mlton/trunk/basis-library/platform/cygwin.sml mlton/trunk/basis-library/posix/error.sig mlton/trunk/basis-library/posix/error.sml mlton/trunk/basis-library/posix/file-sys.sig mlton/trunk/basis-library/posix/file-sys.sml mlton/trunk/basis-library/posix/flags.sml mlton/trunk/basis-library/posix/io.sig mlton/trunk/basis-library/posix/io.sml mlton/trunk/basis-library/posix/posix.sig mlton/trunk/basis-library/posix/posix.sml mlton/trunk/basis-library/posix/primitive.sml mlton/trunk/basis-library/posix/proc-env.sig mlton/trunk/basis-library/posix/proc-env.sml mlton/trunk/basis-library/posix/process.sig mlton/trunk/basis-library/posix/process.sml mlton/trunk/basis-library/posix/stub-mingw.sml mlton/trunk/basis-library/posix/sys-db.sig mlton/trunk/basis-library/posix/sys-db.sml mlton/trunk/basis-library/posix/tty.sig mlton/trunk/basis-library/posix/tty.sml mlton/trunk/basis-library/real/IEEE-real.sig mlton/trunk/basis-library/real/IEEE-real.sml mlton/trunk/basis-library/real/math.sig mlton/trunk/basis-library/real/pack-real.sml mlton/trunk/basis-library/real/real.fun mlton/trunk/basis-library/real/real.sig mlton/trunk/basis-library/real/real32.sml mlton/trunk/basis-library/sml-nj/sml-nj.sig mlton/trunk/basis-library/sml-nj/sml-nj.sml mlton/trunk/basis-library/sml-nj/unsafe.sig mlton/trunk/basis-library/sml-nj/unsafe.sml mlton/trunk/basis-library/system/command-line.sml mlton/trunk/basis-library/system/date.sig mlton/trunk/basis-library/system/date.sml mlton/trunk/basis-library/system/file-sys.sml mlton/trunk/basis-library/system/io.sig mlton/trunk/basis-library/system/io.sml mlton/trunk/basis-library/system/path.sml mlton/trunk/basis-library/system/pre-os.sml mlton/trunk/basis-library/system/process.sig mlton/trunk/basis-library/system/process.sml mlton/trunk/basis-library/system/time.sml mlton/trunk/basis-library/system/timer.sig mlton/trunk/basis-library/system/timer.sml mlton/trunk/basis-library/system/unix.sig mlton/trunk/basis-library/system/unix.sml mlton/trunk/basis-library/text/byte.sml mlton/trunk/basis-library/text/char.sml mlton/trunk/basis-library/text/char0.sml mlton/trunk/basis-library/text/string-cvt.sig mlton/trunk/basis-library/text/string-cvt.sml mlton/trunk/basis-library/text/string.sig mlton/trunk/basis-library/text/string.sml mlton/trunk/basis-library/text/string0.sml mlton/trunk/basis-library/text/substring.sml mlton/trunk/basis-library/text/text.sig 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/boyer.sml mlton/trunk/benchmark/tests/checksum.sml mlton/trunk/benchmark/tests/count-graphs.sml mlton/trunk/benchmark/tests/fft.sml mlton/trunk/benchmark/tests/fib.sml mlton/trunk/benchmark/tests/flat-array.sml mlton/trunk/benchmark/tests/fxp.sml mlton/trunk/benchmark/tests/hamlet.sml mlton/trunk/benchmark/tests/imp-for.sml mlton/trunk/benchmark/tests/knuth-bendix.sml mlton/trunk/benchmark/tests/lexgen.sml mlton/trunk/benchmark/tests/life.sml mlton/trunk/benchmark/tests/logic.sml mlton/trunk/benchmark/tests/mandelbrot.sml mlton/trunk/benchmark/tests/matrix-multiply.sml mlton/trunk/benchmark/tests/md5.sml mlton/trunk/benchmark/tests/merge.sml mlton/trunk/benchmark/tests/mlyacc.sml mlton/trunk/benchmark/tests/model-elimination.sml mlton/trunk/benchmark/tests/mpuz.sml mlton/trunk/benchmark/tests/nucleic.sml mlton/trunk/benchmark/tests/output1.sml mlton/trunk/benchmark/tests/peek.sml mlton/trunk/benchmark/tests/psdes-random.sml mlton/trunk/benchmark/tests/ratio-regions.sml mlton/trunk/benchmark/tests/ray.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/tailfib.sml mlton/trunk/benchmark/tests/tak.sml mlton/trunk/benchmark/tests/tensor.sml mlton/trunk/benchmark/tests/tsp.sml mlton/trunk/benchmark/tests/tyan.sml mlton/trunk/benchmark/tests/vector-concat.sml mlton/trunk/benchmark/tests/vector-rev.sml mlton/trunk/benchmark/tests/vliw.sml mlton/trunk/benchmark/tests/wc-input1.sml mlton/trunk/benchmark/tests/wc-scanStream.sml mlton/trunk/benchmark/tests/zebra.sml mlton/trunk/benchmark/tests/zern.sml mlton/trunk/bin/add-cross mlton/trunk/bin/build-cross-gcc mlton/trunk/bin/clean mlton/trunk/bin/host-arch mlton/trunk/bin/host-os mlton/trunk/bin/mlton-script mlton/trunk/bin/mmake mlton/trunk/bin/platform mlton/trunk/bin/regression mlton/trunk/bin/sync-ignore mlton/trunk/bin/upgrade-basis mlton/trunk/bytecode/interpret.c mlton/trunk/bytecode/interpret.h mlton/trunk/bytecode/opcode.h mlton/trunk/bytecode/print-opcodes.c mlton/trunk/doc/README mlton/trunk/doc/changelog mlton/trunk/doc/examples/ffi/export.sml mlton/trunk/doc/examples/ffi/ffi-export.c mlton/trunk/doc/examples/ffi/ffi-import.c mlton/trunk/doc/examples/ffi/iimport.sml mlton/trunk/doc/examples/ffi/import.sml mlton/trunk/doc/examples/ffi/import2.sml mlton/trunk/doc/examples/ffi/test_quot.sml mlton/trunk/doc/examples/finalizable/cons.c mlton/trunk/doc/examples/finalizable/finalizable.sml mlton/trunk/doc/examples/profiling/list-rev.sml mlton/trunk/doc/examples/profiling/tak.sml mlton/trunk/doc/hacker-guide/abstract.tex mlton/trunk/doc/license/README mlton/trunk/doc/style-guide/main.tex mlton/trunk/ide/emacs/mlton.el 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/cml-lib/multicast.sig mlton/trunk/lib/cml/cml-lib/multicast.sml mlton/trunk/lib/cml/cml-lib/result.sig mlton/trunk/lib/cml/cml-lib/result.sml mlton/trunk/lib/cml/cml-lib/simple-rpc.sig mlton/trunk/lib/cml/cml-lib/simple-rpc.sml mlton/trunk/lib/cml/cml-lib/trace-cml.sig mlton/trunk/lib/cml/cml-lib/trace-cml.sml mlton/trunk/lib/cml/core-cml/channel.sig mlton/trunk/lib/cml/core-cml/channel.sml mlton/trunk/lib/cml/core-cml/event.sig mlton/trunk/lib/cml/core-cml/event.sml mlton/trunk/lib/cml/core-cml/mailbox.sig mlton/trunk/lib/cml/core-cml/mailbox.sml mlton/trunk/lib/cml/core-cml/rep-types.sml mlton/trunk/lib/cml/core-cml/run-cml.sml mlton/trunk/lib/cml/core-cml/scheduler-hooks.sml mlton/trunk/lib/cml/core-cml/scheduler.sml mlton/trunk/lib/cml/core-cml/sync-var.sig mlton/trunk/lib/cml/core-cml/sync-var.sml mlton/trunk/lib/cml/core-cml/thread-id.sml mlton/trunk/lib/cml/core-cml/thread.sig mlton/trunk/lib/cml/core-cml/thread.sml mlton/trunk/lib/cml/core-cml/timeout.sml mlton/trunk/lib/cml/core-cml/trans-id.sml mlton/trunk/lib/cml/core-cml/version.sml mlton/trunk/lib/cml/tests/ping-pong.sml mlton/trunk/lib/cml/tests/primes-multicast.sml mlton/trunk/lib/cml/tests/primes.sml mlton/trunk/lib/cml/tests/print.sml mlton/trunk/lib/cml/tests/run-main.sml mlton/trunk/lib/cml/tests/timeout.sml mlton/trunk/lib/cml/util/assert.sml mlton/trunk/lib/cml/util/critical.sml mlton/trunk/lib/cml/util/debug.sml mlton/trunk/lib/cml/util/fun-priority-queue.fun mlton/trunk/lib/cml/util/fun-priority-queue.sig mlton/trunk/lib/cml/util/fun-queue.sml mlton/trunk/lib/cml/util/imp-queue.sml mlton/trunk/lib/cml/util/local-assert.fun mlton/trunk/lib/cml/util/local-debug.fun mlton/trunk/lib/cml/util/timeit.sml mlton/trunk/lib/mlnlffi/c.sig mlton/trunk/lib/mlnlffi/internals/c-debug.sml mlton/trunk/lib/mlnlffi/internals/c-int.sig mlton/trunk/lib/mlnlffi/internals/c-int.sml mlton/trunk/lib/mlnlffi/internals/zstring.sml mlton/trunk/lib/mlnlffi/memory/bitop-fn.sml mlton/trunk/lib/mlnlffi/memory/linkage-libdl.sml mlton/trunk/lib/mlnlffi/memory/linkage.sig mlton/trunk/lib/mlnlffi/memory/memaccess-a4c1s2i4l4ll8f4d8.sml mlton/trunk/lib/mlnlffi/memory/memalloc-a4-unix.sml mlton/trunk/lib/mlnlffi/memory/memalloc.sig mlton/trunk/lib/mlnlffi/memory/mlrep-i8i16i32i32i64f32f64.sml mlton/trunk/lib/mlton-stubs-in-smlnj/array.sml mlton/trunk/lib/mlton-stubs-in-smlnj/array2.sml mlton/trunk/lib/mlton-stubs-in-smlnj/char.sml mlton/trunk/lib/mlton-stubs-in-smlnj/date.sml mlton/trunk/lib/mlton-stubs-in-smlnj/ieee-real.sml mlton/trunk/lib/mlton-stubs-in-smlnj/int-inf.sml mlton/trunk/lib/mlton-stubs-in-smlnj/int.sml mlton/trunk/lib/mlton-stubs-in-smlnj/list.sml mlton/trunk/lib/mlton-stubs-in-smlnj/mlton.sml mlton/trunk/lib/mlton-stubs-in-smlnj/open-int32.sml mlton/trunk/lib/mlton-stubs-in-smlnj/os.sml mlton/trunk/lib/mlton-stubs-in-smlnj/posix.sml mlton/trunk/lib/mlton-stubs-in-smlnj/real.sml mlton/trunk/lib/mlton-stubs-in-smlnj/string-cvt.sml mlton/trunk/lib/mlton-stubs-in-smlnj/substring.sml mlton/trunk/lib/mlton-stubs-in-smlnj/unsafe.sml mlton/trunk/lib/mlton-stubs-in-smlnj/vector.sml mlton/trunk/lib/mlton-stubs-in-smlnj/word.sml mlton/trunk/lib/mlton-stubs/bin-io.sml mlton/trunk/lib/mlton-stubs/int-inf.sig mlton/trunk/lib/mlton-stubs/io.sig mlton/trunk/lib/mlton-stubs/itimer.sig mlton/trunk/lib/mlton-stubs/mlton.sml mlton/trunk/lib/mlton-stubs/platform.sig mlton/trunk/lib/mlton-stubs/process.sig mlton/trunk/lib/mlton-stubs/profile.sig mlton/trunk/lib/mlton-stubs/random.sig mlton/trunk/lib/mlton-stubs/random.sml mlton/trunk/lib/mlton-stubs/real.sml mlton/trunk/lib/mlton-stubs/rlimit.sig mlton/trunk/lib/mlton-stubs/rusage.sig mlton/trunk/lib/mlton-stubs/signal.sig mlton/trunk/lib/mlton-stubs/socket.sig mlton/trunk/lib/mlton-stubs/syslog.sig mlton/trunk/lib/mlton-stubs/thread.sig mlton/trunk/lib/mlton-stubs/thread.sml mlton/trunk/lib/mlton-stubs/word.sig mlton/trunk/lib/mlton/basic/alpha-beta.fun mlton/trunk/lib/mlton/basic/alpha-beta.sig mlton/trunk/lib/mlton/basic/append-list.sml mlton/trunk/lib/mlton/basic/array.fun mlton/trunk/lib/mlton/basic/array.sml mlton/trunk/lib/mlton/basic/array2.sml mlton/trunk/lib/mlton/basic/assert.sig mlton/trunk/lib/mlton/basic/assert.sml mlton/trunk/lib/mlton/basic/base64.sig mlton/trunk/lib/mlton/basic/base64.sml mlton/trunk/lib/mlton/basic/binary-search.sig mlton/trunk/lib/mlton/basic/binary-search.sml mlton/trunk/lib/mlton/basic/buffer.sml mlton/trunk/lib/mlton/basic/char-buffer.sml mlton/trunk/lib/mlton/basic/char-pred.sml mlton/trunk/lib/mlton/basic/char.sig mlton/trunk/lib/mlton/basic/char.sml mlton/trunk/lib/mlton/basic/char0.sml mlton/trunk/lib/mlton/basic/choice-pattern.sml mlton/trunk/lib/mlton/basic/circular-list.fun mlton/trunk/lib/mlton/basic/circular-list.sig mlton/trunk/lib/mlton/basic/computation.sig mlton/trunk/lib/mlton/basic/console.sig mlton/trunk/lib/mlton/basic/console.sml mlton/trunk/lib/mlton/basic/control.fun mlton/trunk/lib/mlton/basic/control.sig mlton/trunk/lib/mlton/basic/counter.sig mlton/trunk/lib/mlton/basic/date.sig mlton/trunk/lib/mlton/basic/date.sml mlton/trunk/lib/mlton/basic/dir.sig mlton/trunk/lib/mlton/basic/dir.sml mlton/trunk/lib/mlton/basic/directed-graph.sig mlton/trunk/lib/mlton/basic/directed-graph.sml mlton/trunk/lib/mlton/basic/directed-sub-graph.sig mlton/trunk/lib/mlton/basic/directed-sub-graph.sml mlton/trunk/lib/mlton/basic/dot-color.sml mlton/trunk/lib/mlton/basic/dot.sig mlton/trunk/lib/mlton/basic/dot.sml mlton/trunk/lib/mlton/basic/engine.sig mlton/trunk/lib/mlton/basic/engine.sml mlton/trunk/lib/mlton/basic/env.fun mlton/trunk/lib/mlton/basic/error.sml mlton/trunk/lib/mlton/basic/euclidean-ring.fun mlton/trunk/lib/mlton/basic/euclidean-ring.sig mlton/trunk/lib/mlton/basic/exn.sml mlton/trunk/lib/mlton/basic/exn0.sml mlton/trunk/lib/mlton/basic/export.sml mlton/trunk/lib/mlton/basic/file-desc.sml mlton/trunk/lib/mlton/basic/file.sig mlton/trunk/lib/mlton/basic/file.sml mlton/trunk/lib/mlton/basic/fixed-point.sig mlton/trunk/lib/mlton/basic/fixed-point.sml mlton/trunk/lib/mlton/basic/fold.fun mlton/trunk/lib/mlton/basic/format.sml mlton/trunk/lib/mlton/basic/hash-set.sig mlton/trunk/lib/mlton/basic/hash-set.sml mlton/trunk/lib/mlton/basic/hash-table.sig mlton/trunk/lib/mlton/basic/hash-table.sml mlton/trunk/lib/mlton/basic/het-container.fun mlton/trunk/lib/mlton/basic/het-container.sig mlton/trunk/lib/mlton/basic/html.sig mlton/trunk/lib/mlton/basic/html.sml mlton/trunk/lib/mlton/basic/http.sig mlton/trunk/lib/mlton/basic/http.sml mlton/trunk/lib/mlton/basic/init-script.sig mlton/trunk/lib/mlton/basic/init-script.sml mlton/trunk/lib/mlton/basic/insertion-sort.sml mlton/trunk/lib/mlton/basic/instream.sig mlton/trunk/lib/mlton/basic/instream.sml mlton/trunk/lib/mlton/basic/instream0.sml mlton/trunk/lib/mlton/basic/int-inf.sml mlton/trunk/lib/mlton/basic/int.sml mlton/trunk/lib/mlton/basic/integer.fun mlton/trunk/lib/mlton/basic/integer.sig mlton/trunk/lib/mlton/basic/intermediate-computation.sml mlton/trunk/lib/mlton/basic/justify.sig mlton/trunk/lib/mlton/basic/justify.sml mlton/trunk/lib/mlton/basic/layout.sig mlton/trunk/lib/mlton/basic/layout.sml mlton/trunk/lib/mlton/basic/lines.sml mlton/trunk/lib/mlton/basic/linked-list.sig mlton/trunk/lib/mlton/basic/linked-list.sml mlton/trunk/lib/mlton/basic/list.sig mlton/trunk/lib/mlton/basic/list.sml mlton/trunk/lib/mlton/basic/mark.sml mlton/trunk/lib/mlton/basic/max-pow-2-that-divides.fun mlton/trunk/lib/mlton/basic/merge-sort.sig mlton/trunk/lib/mlton/basic/merge-sort.sml mlton/trunk/lib/mlton/basic/mono-list.fun mlton/trunk/lib/mlton/basic/my-dirs.sig mlton/trunk/lib/mlton/basic/my-dirs.sml mlton/trunk/lib/mlton/basic/net.sml mlton/trunk/lib/mlton/basic/number.fun mlton/trunk/lib/mlton/basic/number.sig mlton/trunk/lib/mlton/basic/option.sml mlton/trunk/lib/mlton/basic/ordered-ring.fun mlton/trunk/lib/mlton/basic/outstream.sig mlton/trunk/lib/mlton/basic/outstream0.sml mlton/trunk/lib/mlton/basic/pair.fun mlton/trunk/lib/mlton/basic/pid.sig mlton/trunk/lib/mlton/basic/pid.sml mlton/trunk/lib/mlton/basic/popt.sig mlton/trunk/lib/mlton/basic/popt.sml mlton/trunk/lib/mlton/basic/postscript.sml mlton/trunk/lib/mlton/basic/power.sml mlton/trunk/lib/mlton/basic/process.sig mlton/trunk/lib/mlton/basic/process.sml mlton/trunk/lib/mlton/basic/promise.sig mlton/trunk/lib/mlton/basic/promise.sml mlton/trunk/lib/mlton/basic/property-list.fun mlton/trunk/lib/mlton/basic/property-list.sig mlton/trunk/lib/mlton/basic/property.fun mlton/trunk/lib/mlton/basic/property.sig mlton/trunk/lib/mlton/basic/ps.sig mlton/trunk/lib/mlton/basic/quick-sort.sml mlton/trunk/lib/mlton/basic/random.sml mlton/trunk/lib/mlton/basic/rational.fun mlton/trunk/lib/mlton/basic/rational.sig mlton/trunk/lib/mlton/basic/rdb.sig mlton/trunk/lib/mlton/basic/rdb.sml mlton/trunk/lib/mlton/basic/reader.sig mlton/trunk/lib/mlton/basic/reader.sml mlton/trunk/lib/mlton/basic/real.sig mlton/trunk/lib/mlton/basic/real.sml mlton/trunk/lib/mlton/basic/ref.sig mlton/trunk/lib/mlton/basic/ref.sml mlton/trunk/lib/mlton/basic/regexp.sig mlton/trunk/lib/mlton/basic/regexp.sml mlton/trunk/lib/mlton/basic/relation.sig mlton/trunk/lib/mlton/basic/relation0.sml mlton/trunk/lib/mlton/basic/resizable-array.fun mlton/trunk/lib/mlton/basic/result.sig mlton/trunk/lib/mlton/basic/ring-with-identity.fun mlton/trunk/lib/mlton/basic/ring-with-identity.sig mlton/trunk/lib/mlton/basic/ring.sig mlton/trunk/lib/mlton/basic/sexp.sig mlton/trunk/lib/mlton/basic/sexp.sml mlton/trunk/lib/mlton/basic/stream.sml mlton/trunk/lib/mlton/basic/string-map.sml mlton/trunk/lib/mlton/basic/string.sml mlton/trunk/lib/mlton/basic/string0.sml mlton/trunk/lib/mlton/basic/string1.sml mlton/trunk/lib/mlton/basic/substring.sml mlton/trunk/lib/mlton/basic/sum.sig mlton/trunk/lib/mlton/basic/t.sig mlton/trunk/lib/mlton/basic/tab.sig mlton/trunk/lib/mlton/basic/tab.sml mlton/trunk/lib/mlton/basic/test.sml mlton/trunk/lib/mlton/basic/thread.sml mlton/trunk/lib/mlton/basic/time.sig mlton/trunk/lib/mlton/basic/trace.sig mlton/trunk/lib/mlton/basic/trace.sml mlton/trunk/lib/mlton/basic/tree.sig mlton/trunk/lib/mlton/basic/tree.sml mlton/trunk/lib/mlton/basic/two-list-queue-mutable.sml mlton/trunk/lib/mlton/basic/two-list-queue.sml mlton/trunk/lib/mlton/basic/unique-id.fun mlton/trunk/lib/mlton/basic/unique-set.fun mlton/trunk/lib/mlton/basic/unique-set.sig mlton/trunk/lib/mlton/basic/url.sig mlton/trunk/lib/mlton/basic/url.sml mlton/trunk/lib/mlton/basic/vector.fun mlton/trunk/lib/mlton/basic/vector.sig mlton/trunk/lib/mlton/basic/vector.sml mlton/trunk/lib/mlton/basic/word.sml mlton/trunk/lib/mlton/basic/word8.sml mlton/trunk/lib/mlton/directed-graph/classify-edges.fun mlton/trunk/lib/mlton/directed-graph/classify-edges.sig mlton/trunk/lib/mlton/directed-graph/dijkstra.fun mlton/trunk/lib/mlton/directed-graph/shortest-path-check.fun mlton/trunk/lib/mlton/directed-graph/shortest-path-check.sig mlton/trunk/lib/mlton/directed-graph/shortest-path.sig mlton/trunk/lib/mlton/env/array-finite-function.fun mlton/trunk/lib/mlton/env/array-finite-function.sig mlton/trunk/lib/mlton/env/basic-env-to-env.fun mlton/trunk/lib/mlton/env/cache.sig mlton/trunk/lib/mlton/env/finite-function.fun mlton/trunk/lib/mlton/env/finite-function.sig mlton/trunk/lib/mlton/env/mono-env.fun mlton/trunk/lib/mlton/env/mono-env.sig mlton/trunk/lib/mlton/env/move-to-front.fun mlton/trunk/lib/mlton/env/poly-cache-ref.fun mlton/trunk/lib/mlton/env/poly-cache.fun mlton/trunk/lib/mlton/env/splay-env.fun mlton/trunk/lib/mlton/heap/binary.fun mlton/trunk/lib/mlton/heap/forest.fun mlton/trunk/lib/mlton/heap/forest.sig mlton/trunk/lib/mlton/heap/heap.sig mlton/trunk/lib/mlton/heap/test.sml mlton/trunk/lib/mlton/pervasive/pervasive.sml mlton/trunk/lib/mlton/queue/append-reverse.fun mlton/trunk/lib/mlton/queue/append-reverse.sig mlton/trunk/lib/mlton/queue/circular.fun mlton/trunk/lib/mlton/queue/ephemeral.fun mlton/trunk/lib/mlton/queue/explicit-append-reverse.fun mlton/trunk/lib/mlton/queue/incremental.fun mlton/trunk/lib/mlton/queue/linked-list.fun mlton/trunk/lib/mlton/queue/list.fun mlton/trunk/lib/mlton/queue/queue.fun mlton/trunk/lib/mlton/queue/singly-linked.fun mlton/trunk/lib/mlton/queue/test.sml mlton/trunk/lib/mlton/queue/two-list.fun mlton/trunk/lib/mlton/set/bit-vector-set.fun mlton/trunk/lib/mlton/set/disjoint-collection.fun mlton/trunk/lib/mlton/set/disjoint-collection.sig mlton/trunk/lib/mlton/set/disjoint-max.fun mlton/trunk/lib/mlton/set/disjoint-max.sig mlton/trunk/lib/mlton/set/disjoint.fun mlton/trunk/lib/mlton/set/disjoint.sig mlton/trunk/lib/mlton/set/hashed-unique-set.fun mlton/trunk/lib/mlton/set/object-oriented.sml mlton/trunk/lib/mlton/set/ordered-unique-set.fun mlton/trunk/lib/mlton/set/poly-set.sig mlton/trunk/lib/mlton/set/poly-unordered.fun mlton/trunk/lib/mlton/set/poly-unordered2.fun mlton/trunk/lib/mlton/set/type.fun mlton/trunk/lib/mlton/set/type.sig mlton/trunk/lib/mlton/set/universe-equal.fun mlton/trunk/lib/mlton/set/universe-type-check.fun mlton/trunk/lib/mlton/set/universe.sig mlton/trunk/lib/mlton/set/unordered-universe.fun mlton/trunk/lib/mlton/set/unordered.fun mlton/trunk/lib/mlyacc/base.sig mlton/trunk/lib/mlyacc/join.sml mlton/trunk/lib/mlyacc/lrtable.sml mlton/trunk/lib/mlyacc/parser1.sml mlton/trunk/lib/mlyacc/parser2.sml mlton/trunk/lib/mlyacc/sources.cm mlton/trunk/lib/mlyacc/stream.sml mlton/trunk/lib/opengl/GLUT.sig mlton/trunk/lib/opengl/GLUT.sml mlton/trunk/lib/opengl/GLUT_c.c mlton/trunk/lib/opengl/atom.sml mlton/trunk/lib/opengl/bits.sml mlton/trunk/lib/opengl/blender.sml mlton/trunk/lib/opengl/hello.sml mlton/trunk/lib/opengl/menus.sml mlton/trunk/lib/opengl/molehill.sml mlton/trunk/lib/opengl/points.sml mlton/trunk/lib/opengl/shortest.sml mlton/trunk/lib/opengl/solar.sml mlton/trunk/lib/opengl/spin_cube.sml mlton/trunk/lib/opengl/triangle.sml mlton/trunk/mllex/README mlton/trunk/mllex/export-lex.sml mlton/trunk/mllex/lexgen.doc mlton/trunk/mllex/lexgen.sml mlton/trunk/mllex/lexgen.tex mlton/trunk/mllex/main.sml mlton/trunk/mllex/mlex_int.doc mlton/trunk/mlnlffigen/README mlton/trunk/mlnlffigen/ast-to-spec.sml mlton/trunk/mlnlffigen/control.sig mlton/trunk/mlnlffigen/control.sml mlton/trunk/mlnlffigen/cpif-dev.sml mlton/trunk/mlnlffigen/gen.sml mlton/trunk/mlnlffigen/hash.sml mlton/trunk/mlnlffigen/main.sml mlton/trunk/mlnlffigen/pp.sml mlton/trunk/mlnlffigen/sizes.sml mlton/trunk/mlnlffigen/spec.sml mlton/trunk/mlprof/main.sml mlton/trunk/mlton/ast/ast-atoms.fun mlton/trunk/mlton/ast/ast-atoms.sig mlton/trunk/mlton/ast/ast-const.fun mlton/trunk/mlton/ast/ast-const.sig mlton/trunk/mlton/ast/ast-core.fun mlton/trunk/mlton/ast/ast-core.sig mlton/trunk/mlton/ast/ast-id.fun mlton/trunk/mlton/ast/ast-mlbs.fun mlton/trunk/mlton/ast/ast-mlbs.sig mlton/trunk/mlton/ast/ast-modules.fun mlton/trunk/mlton/ast/ast-modules.sig mlton/trunk/mlton/ast/ast-programs.fun mlton/trunk/mlton/ast/ast-programs.sig mlton/trunk/mlton/ast/field.fun mlton/trunk/mlton/ast/field.sig mlton/trunk/mlton/ast/int-size.fun mlton/trunk/mlton/ast/int-size.sig mlton/trunk/mlton/ast/longid.fun mlton/trunk/mlton/ast/longid.sig mlton/trunk/mlton/ast/prim-cons.fun mlton/trunk/mlton/ast/prim-tycons.fun mlton/trunk/mlton/ast/prim-tycons.sig mlton/trunk/mlton/ast/record.fun mlton/trunk/mlton/ast/record.sig mlton/trunk/mlton/ast/symbol.fun mlton/trunk/mlton/ast/tycon-kind.fun mlton/trunk/mlton/ast/tycon-kind.sig mlton/trunk/mlton/ast/tyvar.fun mlton/trunk/mlton/ast/tyvar.sig mlton/trunk/mlton/ast/word-size.fun mlton/trunk/mlton/atoms/atoms.fun mlton/trunk/mlton/atoms/atoms.sig mlton/trunk/mlton/atoms/c-function.fun mlton/trunk/mlton/atoms/c-function.sig mlton/trunk/mlton/atoms/c-type.fun mlton/trunk/mlton/atoms/c-type.sig mlton/trunk/mlton/atoms/cases.sig mlton/trunk/mlton/atoms/con-.fun mlton/trunk/mlton/atoms/const-type.fun mlton/trunk/mlton/atoms/const-type.sig mlton/trunk/mlton/atoms/const.fun mlton/trunk/mlton/atoms/const.sig mlton/trunk/mlton/atoms/ffi.fun mlton/trunk/mlton/atoms/ffi.sig mlton/trunk/mlton/atoms/generic-scheme.fun mlton/trunk/mlton/atoms/generic-scheme.sig mlton/trunk/mlton/atoms/hash-type.fun mlton/trunk/mlton/atoms/hash-type.sig mlton/trunk/mlton/atoms/id.fun mlton/trunk/mlton/atoms/prim.fun mlton/trunk/mlton/atoms/prim.sig mlton/trunk/mlton/atoms/profile-exp.sig mlton/trunk/mlton/atoms/profile-label.fun mlton/trunk/mlton/atoms/profile-label.sig mlton/trunk/mlton/atoms/real-x.fun mlton/trunk/mlton/atoms/source-info.fun mlton/trunk/mlton/atoms/source-info.sig mlton/trunk/mlton/atoms/tycon.fun mlton/trunk/mlton/atoms/tycon.sig mlton/trunk/mlton/atoms/type-ops.fun mlton/trunk/mlton/atoms/unary-tycon.fun mlton/trunk/mlton/atoms/use-name.fun mlton/trunk/mlton/atoms/word-x-vector.fun mlton/trunk/mlton/atoms/word-x.fun mlton/trunk/mlton/atoms/word-x.sig mlton/trunk/mlton/backend/allocate-registers.fun mlton/trunk/mlton/backend/allocate-registers.sig mlton/trunk/mlton/backend/backend.fun mlton/trunk/mlton/backend/backend.sig mlton/trunk/mlton/backend/chunkify.fun mlton/trunk/mlton/backend/chunkify.sig mlton/trunk/mlton/backend/equivalence-graph.fun mlton/trunk/mlton/backend/equivalence-graph.sig mlton/trunk/mlton/backend/err.sml mlton/trunk/mlton/backend/implement-handlers.fun mlton/trunk/mlton/backend/limit-check.fun mlton/trunk/mlton/backend/live.fun mlton/trunk/mlton/backend/live.sig mlton/trunk/mlton/backend/machine.fun mlton/trunk/mlton/backend/machine.sig mlton/trunk/mlton/backend/object-type.sig mlton/trunk/mlton/backend/packed-representation.fun mlton/trunk/mlton/backend/parallel-move.fun mlton/trunk/mlton/backend/parallel-move.sig mlton/trunk/mlton/backend/pointer-tycon.fun mlton/trunk/mlton/backend/pointer-tycon.sig mlton/trunk/mlton/backend/profile.fun mlton/trunk/mlton/backend/profile.sig mlton/trunk/mlton/backend/rep-type.fun mlton/trunk/mlton/backend/rep-type.sig mlton/trunk/mlton/backend/representation.sig mlton/trunk/mlton/backend/rssa.fun mlton/trunk/mlton/backend/rssa.sig mlton/trunk/mlton/backend/runtime.fun mlton/trunk/mlton/backend/runtime.sig mlton/trunk/mlton/backend/scale.sig mlton/trunk/mlton/backend/signal-check.fun mlton/trunk/mlton/backend/small-int-inf.fun mlton/trunk/mlton/backend/ssa-to-rssa.fun mlton/trunk/mlton/backend/ssa-to-rssa.sig mlton/trunk/mlton/backend/switch.fun mlton/trunk/mlton/backend/switch.sig mlton/trunk/mlton/closure-convert/abstract-value.fun mlton/trunk/mlton/closure-convert/abstract-value.sig mlton/trunk/mlton/closure-convert/closure-convert.fun mlton/trunk/mlton/closure-convert/globalize.fun mlton/trunk/mlton/closure-convert/globalize.sig mlton/trunk/mlton/closure-convert/lambda-free.fun mlton/trunk/mlton/closure-convert/lambda-free.sig mlton/trunk/mlton/cm/cm.sml mlton/trunk/mlton/cm/lexer.sig mlton/trunk/mlton/cm/lexer.sml mlton/trunk/mlton/cm/parse.sig mlton/trunk/mlton/cm/parse.sml mlton/trunk/mlton/codegen/bytecode/bytecode.fun mlton/trunk/mlton/codegen/bytecode/bytecode.sig mlton/trunk/mlton/codegen/c-codegen/c-codegen.fun mlton/trunk/mlton/codegen/c-codegen/c-codegen.sig mlton/trunk/mlton/codegen/x86-codegen/peephole.fun mlton/trunk/mlton/codegen/x86-codegen/peephole.sig mlton/trunk/mlton/codegen/x86-codegen/x86-allocate-registers.fun mlton/trunk/mlton/codegen/x86-codegen/x86-allocate-registers.sig mlton/trunk/mlton/codegen/x86-codegen/x86-codegen.fun mlton/trunk/mlton/codegen/x86-codegen/x86-codegen.sig mlton/trunk/mlton/codegen/x86-codegen/x86-entry-transfer.fun mlton/trunk/mlton/codegen/x86-codegen/x86-generate-transfers.fun mlton/trunk/mlton/codegen/x86-codegen/x86-generate-transfers.sig mlton/trunk/mlton/codegen/x86-codegen/x86-jump-info.fun mlton/trunk/mlton/codegen/x86-codegen/x86-jump-info.sig mlton/trunk/mlton/codegen/x86-codegen/x86-live-transfers.fun mlton/trunk/mlton/codegen/x86-codegen/x86-live-transfers.sig 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-loop-info.fun mlton/trunk/mlton/codegen/x86-codegen/x86-mlton-basic.fun mlton/trunk/mlton/codegen/x86-codegen/x86-mlton-basic.sig mlton/trunk/mlton/codegen/x86-codegen/x86-mlton.fun mlton/trunk/mlton/codegen/x86-codegen/x86-mlton.sig 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-simplify.sig mlton/trunk/mlton/codegen/x86-codegen/x86-translate.fun mlton/trunk/mlton/codegen/x86-codegen/x86-translate.sig 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/bits.sml mlton/trunk/mlton/control/control-flags.sig mlton/trunk/mlton/control/control-flags.sml mlton/trunk/mlton/control/control.sig mlton/trunk/mlton/control/control.sml mlton/trunk/mlton/control/pretty.sig mlton/trunk/mlton/control/pretty.sml mlton/trunk/mlton/control/region.sig mlton/trunk/mlton/control/region.sml mlton/trunk/mlton/control/source-pos.sig mlton/trunk/mlton/control/source-pos.sml mlton/trunk/mlton/control/source.sig mlton/trunk/mlton/control/source.sml mlton/trunk/mlton/control/system.sml mlton/trunk/mlton/core-ml/core-ml.fun mlton/trunk/mlton/core-ml/core-ml.sig mlton/trunk/mlton/core-ml/dead-code.fun mlton/trunk/mlton/defunctorize/defunctorize.fun mlton/trunk/mlton/elaborate/decs.sig mlton/trunk/mlton/elaborate/elaborate-core.fun mlton/trunk/mlton/elaborate/elaborate-env.fun mlton/trunk/mlton/elaborate/elaborate-env.sig mlton/trunk/mlton/elaborate/elaborate-mlbs.fun mlton/trunk/mlton/elaborate/elaborate-mlbs.sig mlton/trunk/mlton/elaborate/elaborate-modules.fun mlton/trunk/mlton/elaborate/elaborate-programs.fun mlton/trunk/mlton/elaborate/elaborate-sigexp.fun mlton/trunk/mlton/elaborate/elaborate-sigexp.sig mlton/trunk/mlton/elaborate/elaborate.fun mlton/trunk/mlton/elaborate/elaborate.sig mlton/trunk/mlton/elaborate/interface.fun mlton/trunk/mlton/elaborate/interface.sig mlton/trunk/mlton/elaborate/precedence-parse.fun mlton/trunk/mlton/elaborate/precedence-parse.sig mlton/trunk/mlton/elaborate/scope.fun mlton/trunk/mlton/elaborate/type-env.fun mlton/trunk/mlton/elaborate/type-env.sig mlton/trunk/mlton/front-end/front-end.fun mlton/trunk/mlton/front-end/front-end.sig 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-front-end.sig mlton/trunk/mlton/front-end/mlb.grm mlton/trunk/mlton/front-end/mlb.lex mlton/trunk/mlton/front-end/sources.cm mlton/trunk/mlton/front-end/sources.mlb mlton/trunk/mlton/main/compile.fun mlton/trunk/mlton/main/compile.sig mlton/trunk/mlton/main/lookup-constant.fun mlton/trunk/mlton/main/lookup-constant.sig mlton/trunk/mlton/main/main.fun mlton/trunk/mlton/main/main.sig mlton/trunk/mlton/match-compile/match-compile.fun mlton/trunk/mlton/match-compile/match-compile.sig mlton/trunk/mlton/match-compile/nested-pat.fun mlton/trunk/mlton/match-compile/nested-pat.sig mlton/trunk/mlton/ssa/analyze.fun mlton/trunk/mlton/ssa/analyze.sig mlton/trunk/mlton/ssa/analyze2.fun mlton/trunk/mlton/ssa/analyze2.sig mlton/trunk/mlton/ssa/common-arg.fun mlton/trunk/mlton/ssa/common-block.fun mlton/trunk/mlton/ssa/common-subexp.fun mlton/trunk/mlton/ssa/constant-propagation.fun mlton/trunk/mlton/ssa/contify.fun mlton/trunk/mlton/ssa/deep-flatten.fun mlton/trunk/mlton/ssa/direct-exp.fun mlton/trunk/mlton/ssa/direct-exp.sig mlton/trunk/mlton/ssa/direct-exp2.fun mlton/trunk/mlton/ssa/direct-exp2.sig mlton/trunk/mlton/ssa/equatable.sml mlton/trunk/mlton/ssa/flat-lattice.fun mlton/trunk/mlton/ssa/flat-lattice.sig mlton/trunk/mlton/ssa/flatten.fun mlton/trunk/mlton/ssa/global.fun mlton/trunk/mlton/ssa/global.sig mlton/trunk/mlton/ssa/inline.fun mlton/trunk/mlton/ssa/introduce-loops.fun mlton/trunk/mlton/ssa/known-case.fun mlton/trunk/mlton/ssa/local-flatten.fun mlton/trunk/mlton/ssa/local-ref.fun mlton/trunk/mlton/ssa/loop-invariant.fun mlton/trunk/mlton/ssa/multi.fun mlton/trunk/mlton/ssa/multi.sig mlton/trunk/mlton/ssa/n-point-lattice.fun mlton/trunk/mlton/ssa/poly-equal.fun mlton/trunk/mlton/ssa/prepasses.fun mlton/trunk/mlton/ssa/prepasses.sig mlton/trunk/mlton/ssa/prepasses2.fun mlton/trunk/mlton/ssa/redundant-tests.fun mlton/trunk/mlton/ssa/redundant.fun mlton/trunk/mlton/ssa/ref-flatten.fun mlton/trunk/mlton/ssa/remove-unused.fun mlton/trunk/mlton/ssa/remove-unused2.fun mlton/trunk/mlton/ssa/restore.fun mlton/trunk/mlton/ssa/restore.sig mlton/trunk/mlton/ssa/restore2.fun mlton/trunk/mlton/ssa/restore2.sig mlton/trunk/mlton/ssa/shrink.fun mlton/trunk/mlton/ssa/shrink.sig mlton/trunk/mlton/ssa/shrink2.fun mlton/trunk/mlton/ssa/shrink2.sig mlton/trunk/mlton/ssa/simplify-types.fun mlton/trunk/mlton/ssa/simplify.fun mlton/trunk/mlton/ssa/simplify2.fun mlton/trunk/mlton/ssa/ssa-to-ssa2.fun mlton/trunk/mlton/ssa/ssa-tree.fun mlton/trunk/mlton/ssa/ssa-tree.sig mlton/trunk/mlton/ssa/ssa-tree2.fun mlton/trunk/mlton/ssa/ssa-tree2.sig mlton/trunk/mlton/ssa/two-point-lattice.fun mlton/trunk/mlton/ssa/type-check.fun mlton/trunk/mlton/ssa/type-check2.fun mlton/trunk/mlton/ssa/useless.fun mlton/trunk/mlton/ssa/zone.fun mlton/trunk/mlton/xml/call-count.fun mlton/trunk/mlton/xml/implement-exceptions.fun mlton/trunk/mlton/xml/implement-suffix.fun mlton/trunk/mlton/xml/monomorphise.fun mlton/trunk/mlton/xml/polyvariance.fun mlton/trunk/mlton/xml/scc-funs.fun mlton/trunk/mlton/xml/shrink.fun mlton/trunk/mlton/xml/simplify-types.fun mlton/trunk/mlton/xml/sxml-simplify.fun mlton/trunk/mlton/xml/type-check.fun mlton/trunk/mlton/xml/uncurry.fun mlton/trunk/mlton/xml/uncurry.sig mlton/trunk/mlton/xml/xml-simplify.fun mlton/trunk/mlton/xml/xml-tree.fun mlton/trunk/mlton/xml/xml-tree.sig mlton/trunk/mlton/xml/xml-type.sig mlton/trunk/mlyacc/README mlton/trunk/mlyacc/doc/mlyacc.tex mlton/trunk/mlyacc/doc/tech.doc mlton/trunk/mlyacc/examples/calc/README mlton/trunk/mlyacc/examples/calc/calc.lex mlton/trunk/mlyacc/examples/calc/calc.sml mlton/trunk/mlyacc/examples/fol/README mlton/trunk/mlyacc/examples/fol/fol.grm mlton/trunk/mlyacc/examples/fol/fol.lex mlton/trunk/mlyacc/examples/fol/link.sml mlton/trunk/mlyacc/examples/fol/parse.sml mlton/trunk/mlyacc/examples/pascal/parser.sml mlton/trunk/mlyacc/examples/pascal/pascal.grm mlton/trunk/mlyacc/examples/pascal/pascal.lex mlton/trunk/mlyacc/main.sml mlton/trunk/mlyacc/src/absyn.sml mlton/trunk/mlyacc/src/core.sml mlton/trunk/mlyacc/src/coreutils.sml mlton/trunk/mlyacc/src/export-yacc.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/link.sml mlton/trunk/mlyacc/src/look.sml mlton/trunk/mlyacc/src/mklrtable.sml mlton/trunk/mlyacc/src/mkprstruct.sml mlton/trunk/mlyacc/src/parse.sml mlton/trunk/mlyacc/src/shrink.sml mlton/trunk/mlyacc/src/sigs.sml mlton/trunk/mlyacc/src/utils.sig 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/package/debian/README.Debian mlton/trunk/regression/7.sml mlton/trunk/regression/FuhMishra.sml mlton/trunk/regression/README mlton/trunk/regression/README.kit mlton/trunk/regression/array.sml mlton/trunk/regression/array2.sml mlton/trunk/regression/array5.sml mlton/trunk/regression/array6.sml mlton/trunk/regression/array7.sml mlton/trunk/regression/bytechar.sml mlton/trunk/regression/callcc2.sml mlton/trunk/regression/callcc3.sml mlton/trunk/regression/char.scan.sml mlton/trunk/regression/check_arrays.sml mlton/trunk/regression/cmdline.sml mlton/trunk/regression/cobol.sml mlton/trunk/regression/constraint.sml mlton/trunk/regression/conv.sml mlton/trunk/regression/conv2.sml mlton/trunk/regression/datatype-with-free-tyvars.sml mlton/trunk/regression/date.sml mlton/trunk/regression/deep-flatten.sml mlton/trunk/regression/echo.sml mlton/trunk/regression/eqtype.sml mlton/trunk/regression/ex.sml mlton/trunk/regression/exnHistory.sml mlton/trunk/regression/exnHistory3.sml mlton/trunk/regression/fail/eqtype.1.sml mlton/trunk/regression/fail/functor.1.sml mlton/trunk/regression/fail/modules.15.sml mlton/trunk/regression/fail/modules.16.sml mlton/trunk/regression/fail/modules.17.sml mlton/trunk/regression/fail/modules.18.sml mlton/trunk/regression/fail/modules.19.sml mlton/trunk/regression/fail/modules.23.sml mlton/trunk/regression/fail/modules.25.sml mlton/trunk/regression/fail/modules.3.sml mlton/trunk/regression/fail/modules.40.sml mlton/trunk/regression/fail/modules.49.sml mlton/trunk/regression/fail/modules.50.sml mlton/trunk/regression/fail/modules.51.sml mlton/trunk/regression/fail/rank.sml mlton/trunk/regression/fail/sharing.2.sml mlton/trunk/regression/fast.sml mlton/trunk/regression/fast2.sml mlton/trunk/regression/fft.sml mlton/trunk/regression/filesys.sml mlton/trunk/regression/finalize.2.sml mlton/trunk/regression/finalize.sml mlton/trunk/regression/fixed-integer.sml mlton/trunk/regression/flat-array.2.sml mlton/trunk/regression/flat-array.sml mlton/trunk/regression/flexrecord.sml mlton/trunk/regression/format.sml mlton/trunk/regression/functor.sml mlton/trunk/regression/general.sml mlton/trunk/regression/generate/all-overloads.sml mlton/trunk/regression/harmonic.sml mlton/trunk/regression/int-inf.1.sml mlton/trunk/regression/int-inf.2.sml mlton/trunk/regression/int-inf.4.sml mlton/trunk/regression/int-inf.5.sml mlton/trunk/regression/int-inf.bitops.sml mlton/trunk/regression/int-inf.compare.sml mlton/trunk/regression/int.sml mlton/trunk/regression/kitkbjul9.sml mlton/trunk/regression/kitlife35u.sml mlton/trunk/regression/kitmandelbrot.sml mlton/trunk/regression/kitqsort.sml mlton/trunk/regression/kitreynolds2.sml mlton/trunk/regression/kitsimple.sml mlton/trunk/regression/kkb36c.sml mlton/trunk/regression/kkb_eq.sml mlton/trunk/regression/klife_eq.sml mlton/trunk/regression/lambda-list-ref.sml mlton/trunk/regression/lib.sml mlton/trunk/regression/life.sml mlton/trunk/regression/list.sml mlton/trunk/regression/listpair.sml mlton/trunk/regression/llv.sml mlton/trunk/regression/local-ref.sml mlton/trunk/regression/math.sml mlton/trunk/regression/mlton.share.sml mlton/trunk/regression/mlton.word.sml mlton/trunk/regression/modules.sml mlton/trunk/regression/mutex.sml mlton/trunk/regression/nested-loop.sml mlton/trunk/regression/nonexhaustive.sml mlton/trunk/regression/once.sml mlton/trunk/regression/opaque.sml mlton/trunk/regression/opaque2.sml mlton/trunk/regression/os-exit.sml mlton/trunk/regression/pack-real.sml mlton/trunk/regression/pack-word.sml mlton/trunk/regression/poly-equal.2.sml mlton/trunk/regression/poly-equal.sml mlton/trunk/regression/polymorphic-recursion.sml mlton/trunk/regression/posix-exit.sml mlton/trunk/regression/prodcons.sml mlton/trunk/regression/pseudokit.sml mlton/trunk/regression/real.sml mlton/trunk/regression/ref-flatten.2.sml mlton/trunk/regression/ref-flatten.3.sml mlton/trunk/regression/ref-flatten.4.sml mlton/trunk/regression/ref-flatten.5.sml mlton/trunk/regression/ref-flatten.sml mlton/trunk/regression/ring.sml mlton/trunk/regression/same-fringe.sml mlton/trunk/regression/serialize.sml mlton/trunk/regression/sharing.sml mlton/trunk/regression/signals.sml mlton/trunk/regression/signals2.sml mlton/trunk/regression/sigs.sml mlton/trunk/regression/size.sml mlton/trunk/regression/slow.sml mlton/trunk/regression/slow2.sml mlton/trunk/regression/slower.sml mlton/trunk/regression/smith-normal-form.sml mlton/trunk/regression/socket.sml mlton/trunk/regression/string.fromString.sml mlton/trunk/regression/string.sml mlton/trunk/regression/string2.sml mlton/trunk/regression/stringcvt.sml mlton/trunk/regression/substring.sml mlton/trunk/regression/suspend.sml mlton/trunk/regression/tak.sml mlton/trunk/regression/testdyn1.sml mlton/trunk/regression/textio.sml mlton/trunk/regression/thread-switch.sml mlton/trunk/regression/thread0.sml mlton/trunk/regression/thread1.sml mlton/trunk/regression/thread2.sml mlton/trunk/regression/time.sml mlton/trunk/regression/time3.sml mlton/trunk/regression/timeout.sml mlton/trunk/regression/tststrcmp.sml mlton/trunk/regression/unary.2.sml mlton/trunk/regression/unixpath.sml mlton/trunk/regression/useless-string.sml mlton/trunk/regression/vector.sml mlton/trunk/regression/vector4.sml mlton/trunk/regression/weak.sml mlton/trunk/regression/where.sml mlton/trunk/regression/word-all.sml mlton/trunk/regression/word.sml mlton/trunk/regression/word8array.sml mlton/trunk/regression/word8vector.sml mlton/trunk/regression/world1.sml mlton/trunk/regression/world2.sml mlton/trunk/regression/world3.sml mlton/trunk/regression/world4.sml mlton/trunk/regression/world5.sml mlton/trunk/regression/world6.sml mlton/trunk/runtime/Posix/Error.c mlton/trunk/runtime/Posix/FileSys/Dirstream.c mlton/trunk/runtime/Posix/FileSys/ST.c mlton/trunk/runtime/Posix/FileSys/Stat.c mlton/trunk/runtime/Posix/FileSys/Utimbuf.c mlton/trunk/runtime/Posix/FileSys/access.c mlton/trunk/runtime/Posix/FileSys/chdir.c mlton/trunk/runtime/Posix/FileSys/chmod.c mlton/trunk/runtime/Posix/FileSys/chown.c mlton/trunk/runtime/Posix/FileSys/fchmod.c mlton/trunk/runtime/Posix/FileSys/fchown.c mlton/trunk/runtime/Posix/FileSys/fpathconf.c mlton/trunk/runtime/Posix/FileSys/ftruncate.c mlton/trunk/runtime/Posix/FileSys/getcwd.c mlton/trunk/runtime/Posix/FileSys/link.c mlton/trunk/runtime/Posix/FileSys/mkdir.c mlton/trunk/runtime/Posix/FileSys/mkfifo.c mlton/trunk/runtime/Posix/FileSys/open.c mlton/trunk/runtime/Posix/FileSys/pathconf.c mlton/trunk/runtime/Posix/FileSys/readlink.c mlton/trunk/runtime/Posix/FileSys/rename.c mlton/trunk/runtime/Posix/FileSys/rmdir.c mlton/trunk/runtime/Posix/FileSys/symlink.c mlton/trunk/runtime/Posix/FileSys/umask.c mlton/trunk/runtime/Posix/FileSys/unlink.c mlton/trunk/runtime/Posix/IO/FLock.c mlton/trunk/runtime/Posix/IO/close.c mlton/trunk/runtime/Posix/IO/dup.c mlton/trunk/runtime/Posix/IO/dup2.c mlton/trunk/runtime/Posix/IO/fcntl2.c mlton/trunk/runtime/Posix/IO/fcntl3.c mlton/trunk/runtime/Posix/IO/fsync.c mlton/trunk/runtime/Posix/IO/lseek.c mlton/trunk/runtime/Posix/IO/pipe.c mlton/trunk/runtime/Posix/IO/read.c mlton/trunk/runtime/Posix/IO/write.c mlton/trunk/runtime/Posix/ProcEnv/ProcEnv.c mlton/trunk/runtime/Posix/ProcEnv/Tms.c mlton/trunk/runtime/Posix/ProcEnv/Uname.c mlton/trunk/runtime/Posix/ProcEnv/getenv.c mlton/trunk/runtime/Posix/ProcEnv/getgroups.c mlton/trunk/runtime/Posix/ProcEnv/getlogin.c mlton/trunk/runtime/Posix/ProcEnv/getpgrp.c mlton/trunk/runtime/Posix/ProcEnv/isatty.c mlton/trunk/runtime/Posix/ProcEnv/setenv.c mlton/trunk/runtime/Posix/ProcEnv/setgroups.c mlton/trunk/runtime/Posix/ProcEnv/sysconf.c mlton/trunk/runtime/Posix/ProcEnv/ttyname.c mlton/trunk/runtime/Posix/Process/alarm.c mlton/trunk/runtime/Posix/Process/exece.c mlton/trunk/runtime/Posix/Process/execp.c mlton/trunk/runtime/Posix/Process/exit.c mlton/trunk/runtime/Posix/Process/exitStatus.c mlton/trunk/runtime/Posix/Process/fork.c mlton/trunk/runtime/Posix/Process/ifExited.c mlton/trunk/runtime/Posix/Process/ifSignaled.c mlton/trunk/runtime/Posix/Process/ifStopped.c mlton/trunk/runtime/Posix/Process/kill.c mlton/trunk/runtime/Posix/Process/nanosleep.c mlton/trunk/runtime/Posix/Process/pause.c mlton/trunk/runtime/Posix/Process/sleep.c mlton/trunk/runtime/Posix/Process/stopSig.c mlton/trunk/runtime/Posix/Process/system.c mlton/trunk/runtime/Posix/Process/termSig.c mlton/trunk/runtime/Posix/Process/waitpid.c mlton/trunk/runtime/Posix/Signal.c mlton/trunk/runtime/Posix/SysDB/Group.c mlton/trunk/runtime/Posix/SysDB/Passwd.c mlton/trunk/runtime/Posix/TTY.c mlton/trunk/runtime/assert.h mlton/trunk/runtime/basis/Array/numElements.c mlton/trunk/runtime/basis/Date.c mlton/trunk/runtime/basis/Debug.c mlton/trunk/runtime/basis/GC.c mlton/trunk/runtime/basis/IEEEReal.c 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/errno.c mlton/trunk/runtime/basis/MLton/exit.c mlton/trunk/runtime/basis/MLton/profile.c mlton/trunk/runtime/basis/MLton/rlimit.c mlton/trunk/runtime/basis/MLton/rusage.c mlton/trunk/runtime/basis/MLton/share.c mlton/trunk/runtime/basis/MLton/size.c mlton/trunk/runtime/basis/MLton/spawne.c mlton/trunk/runtime/basis/MLton/spawnp.c mlton/trunk/runtime/basis/MLton/world.c mlton/trunk/runtime/basis/Net/Net.c mlton/trunk/runtime/basis/Net/NetHostDB.c mlton/trunk/runtime/basis/Net/NetProtDB.c mlton/trunk/runtime/basis/Net/NetServDB.c mlton/trunk/runtime/basis/Net/Socket/INetSock.c mlton/trunk/runtime/basis/Net/Socket/Socket.c mlton/trunk/runtime/basis/Net/Socket/UnixSock.c mlton/trunk/runtime/basis/OS/IO/poll.c mlton/trunk/runtime/basis/PackReal.c mlton/trunk/runtime/basis/Ptrace.c mlton/trunk/runtime/basis/Real/Math.c mlton/trunk/runtime/basis/Real/class.c mlton/trunk/runtime/basis/Real/frexp.c mlton/trunk/runtime/basis/Real/gdtoa.c mlton/trunk/runtime/basis/Real/modf.c mlton/trunk/runtime/basis/Real/nextAfter.c mlton/trunk/runtime/basis/Real/real.c mlton/trunk/runtime/basis/Real/signBit.c mlton/trunk/runtime/basis/Real/strto.c mlton/trunk/runtime/basis/Stdio.c mlton/trunk/runtime/basis/Thread.c mlton/trunk/runtime/basis/Time.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/cygwin.c mlton/trunk/runtime/platform/darwin.c mlton/trunk/runtime/platform/feround.c mlton/trunk/runtime/platform/freebsd.c mlton/trunk/runtime/platform/getText.c mlton/trunk/runtime/platform/getrusage.c mlton/trunk/runtime/platform/linux.c mlton/trunk/runtime/platform/mingw.c mlton/trunk/runtime/platform/mingw.h mlton/trunk/runtime/platform/mkdir2.c mlton/trunk/runtime/platform/mmap.c mlton/trunk/runtime/platform/netbsd.c mlton/trunk/runtime/platform/openbsd.c mlton/trunk/runtime/platform/release.virtual.c mlton/trunk/runtime/platform/showMem.linux.c mlton/trunk/runtime/platform/signbit.c mlton/trunk/runtime/platform/solaris.c mlton/trunk/runtime/platform/ssmmap.c mlton/trunk/runtime/platform/totalRam.sysconf.c mlton/trunk/runtime/platform/totalRam.sysctl.c mlton/trunk/runtime/platform/use-mmap.c mlton/trunk/runtime/platform/windows.c mlton/trunk/util/cm2mlb/cm2mlb.sml mlton/trunk/util/cm2mlb/gen-mlb.sml mlton/trunk/util/cm2mlb/sources.cm mlton/trunk/util/cmcat/cmcat.sml mlton/trunk/util/cmcat/sources.cm Log: MAIL replaced tabs by spaces in (most) source files Files with the following suffixes were changed. c, cm, el, fun, grm, h, lex, mlb, sig, sml, tex, txt I think it makes sense for whatever automated "no tabs" enforcement we put in place to continue to enforce the rule for these suffixes. Some unsuffixed files were also changed, mostly READMEs and shell scripts. I'm not sure what to do about automated enforcement for unsuffixed files. Some files with tabs were not changed, in particular, regression output, .st files (Matthew, what about these?), Makefiles, patches that include Makefiles require tabs. Here's a complete list of (ASCII) files that still have tabs in them. regression/textio.ok regression/array.ok regression/word8array.ok regression/timer.ok regression/substring.ok regression/string.ok regression/check_arrays.ok regression/pack-real.ok regression/stringcvt.ok regression/Makefile regression/filesys.ok regression/word8vector.ok regression/time.ok regression/bytechar.ok regression/listpair.ok regression/math.ok regression/unixpath.ok regression/date.ok regression/word-all.ok regression/kitsimple.ok regression/listsort.ok regression/real.ok regression/list.ok regression/int.ok mlnlffigen/Makefile mllex/Makefile Makefile include/Makefile runtime/Makefile mlton/front-end/Makefile mlton/Makefile benchmark/tests/Makefile benchmark/Makefile bytecode/Makefile mlprof/Makefile ide/enscript/sml_verbose.st ide/enscript/sml_fancy.st ide/enscript/sml_all.st ide/enscript/sml_gaudy.st basis-library/libs/basis-2002/top-level/Makefile basis-library/Makefile doc/library-guide/Makefile doc/hacker-guide/structure.fig doc/hacker-guide/Makefile doc/mlb-formal/Makefile doc/style-guide/Makefile doc/examples/finalizable/Makefile doc/examples/save-world/Makefile doc/examples/ffi/Makefile doc/examples/profiling/Makefile doc/examples/Makefile lib/basis-stubs/Makefile lib/opengl/Makefile lib/mlton-stubs/Makefile lib/mlton/basic/Makefile lib/mlton/Makefile lib/mlton-stubs-in-smlnj/Makefile lib/smlnj-lib/Makefile lib/smlnj-lib/smlnj-lib.patch lib/Makefile lib/ckit-lib/ckit.patch lib/ckit-lib/Makefile bin/Makefile mlyacc/doc/Makefile mlyacc/examples/pascal/test/c1.p mlyacc/examples/pascal/test/t1.p mlyacc/Makefile man/Makefile package/debian/mlton.postinst package/debian/rules package/debian/mlton.prerm package/freebsd/pkg-descr package/freebsd/Makefile package/rpm/mlton.spec Finally, for the record, here's the script I used to make the changes. ---------------------------------------------------------------------- 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 f = let val mode = Posix.FileSys.ST.mode (Posix.FileSys.stat f) val ins = TextIO.openIn f val tmp = "/tmp/z.tab" val out = TextIO.openOut tmp fun loop () = case TextIO.input1 ins of NONE => () | SOME c => (if c = #"\t" then TextIO.output (out, tab) else TextIO.output1 (out, c) ; loop ()) val () = loop () val () = TextIO.closeIn ins val () = TextIO.closeOut out 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 numTabsInFile = ref 0 val ins = TextIO.openIn f fun loop (filePos) = 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) else () in loop (filePos + 1) end val () = loop 0 val () = TextIO.closeIn ins val () = if not (!isAscii) then () else if !hasTab then (++numFilesWithTabs ; (if shouldReplace (dir, f) then replaceTabs f else (print (concat ["skipping ", OS.Path.joinDirFile {dir = dir, file = f}, "\n"])))) else () in () end fun loop (dir, path) = let val () = msg ["entering ", dir] open OS.FileSys ... [truncated message content] |
From: <ve...@ml...> - 2005-08-20 09:12:26
|
Author: vesak Date: 2005-08-20 09:11:59 -0700 (Sat, 20 Aug 2005) New Revision: 4013 Modified: mlton/trunk/ide/emacs/esml-mlb-mode.el mlton/trunk/ide/emacs/esml-util.el Log: Added show-basis (C-c C-s). Modified: mlton/trunk/ide/emacs/esml-mlb-mode.el =================================================================== --- mlton/trunk/ide/emacs/esml-mlb-mode.el 2005-08-20 13:29:56 UTC (rev 4012) +++ mlton/trunk/ide/emacs/esml-mlb-mode.el 2005-08-20 16:11:59 UTC (rev 4013) @@ -32,9 +32,9 @@ ;; ;; - customisable indentation ;; - movement -;; - type-check / show-basis / compile / compile-and-run +;; - type-check / compile / compile-and-run ;; - find-structure / find-signature / find-functor -;; - highlight only binding occurances of basid's +;; - highlight only binding occurances of basids ;; - find-binding-occurance (of a basid) ;; - support doc strings in mlb files @@ -126,11 +126,19 @@ (defcustom esml-mlb-show-annotations-command "mlton -expert true -show-anns true" - "Command used to determine the annotations accepted by a compiler." + "Shell command used to determine the annotations accepted by a compiler." :type 'string :set 'esml-mlb-set-custom-and-update :group 'esml-mlb) +(defcustom esml-mlb-show-basis-command + "mlton -stop tc -show-basis %t %f" + "Shell command used to pretty print the basis defined by an MLB file. +`%t' is replaced by the name of a temporary file and `%f' is replaced by +the name of the MLB file." + :type 'string + :group 'esml-mlb) + ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; Faces @@ -156,18 +164,10 @@ (esml-split-string s "[ \t]*[{}|][ \t]*"))) (esml-split-string (with-temp-buffer - (if (zerop - (condition-case nil - (let ((cmd-and-args - (esml-split-string - esml-mlb-show-annotations-command - " +"))) - (apply 'call-process - (car cmd-and-args) nil t nil (cdr cmd-and-args))) - (error -1))) - (buffer-string) - (message "Show annotations command failed.") - "")) + (shell-command + esml-mlb-show-annotations-command + (current-buffer)) + (buffer-string)) "[ \t]*\n+[ \t]*")))) (function (lambda (a b) @@ -214,7 +214,7 @@ (let* ((name (match-string 1)) (name-value (assoc name esml-mlb-path-variables))) (unless name-value - (error 'invalid-argument name)) + (esml-error "Unknown path variable: %s" name)) (delete-char (length (match-string 0))) (insert (cdr name-value))) (forward-char 1) @@ -606,6 +606,48 @@ "Does not exists: %s") file)))) +(defconst esml-mlb-show-basis-process-name "*mlb-show-basis*") + +(defun esml-mlb-show-basis () + (interactive) + ;; TBD: find-error / error output mode + (when (get-process esml-mlb-show-basis-process-name) + (esml-error "show-basis already running")) + (save-some-buffers) + (lexical-let ((tmp-file (concat + (file-name-directory (buffer-file-name)) + "." (file-name-nondirectory (buffer-file-name)) + ".basis")) + (buffer (get-buffer-create esml-mlb-show-basis-process-name))) + (when (file-exists-p tmp-file) + (esml-error "temporary basis file already exists: %s" tmp-file)) + (save-excursion + (set-buffer buffer) + (delete-region (point-min) (point-max))) + (let ((process (start-process-shell-command + esml-mlb-show-basis-process-name + buffer + (esml-replace-regexp-in-string + (esml-replace-regexp-in-string + esml-mlb-show-basis-command + "%t" + tmp-file) + "%f" + (buffer-file-name))))) + (set-process-sentinel + process + (function + (lambda (process event) + (if (and (esml-string-matches-p "finished\n" event) + (file-readable-p tmp-file)) + (save-excursion + (set-buffer (find-file-other-window tmp-file)) + (toggle-read-only) + (delete-file tmp-file)) + (switch-to-buffer buffer)) + (message event))))) + (message "show-basis running..."))) + ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; Define mode @@ -621,7 +663,9 @@ '(([tab] . esml-mlb-indent-or-complete) ([(control c) (control f)] - . esml-mlb-find-file-at-point))) + . esml-mlb-find-file-at-point) + ([(control c) (control s)] + . esml-mlb-show-basis))) esml-mlb-mode-map) "Keymap for ML Basis mode.") @@ -653,5 +697,6 @@ (esml-mlb-update) (add-to-list 'auto-mode-alist '("\\.mlb\\'" . esml-mlb-mode)) +(add-to-list 'auto-mode-alist '("\\.basis\\'" . sml-mode)) (provide 'esml-mlb-mode) Modified: mlton/trunk/ide/emacs/esml-util.el =================================================================== --- mlton/trunk/ide/emacs/esml-util.el 2005-08-20 13:29:56 UTC (rev 4012) +++ mlton/trunk/ide/emacs/esml-util.el 2005-08-20 16:11:59 UTC (rev 4013) @@ -44,6 +44,12 @@ (replace-in-string str regexp rep t) (replace-regexp-in-string regexp rep str t t))) +;; workaround for incompatibility between GNU Emacs and XEmacs +(defun esml-error (str &rest objs) + (if (string-match "XEmacs" emacs-version) + (error 'error (apply 'format str objs)) + (apply 'error str objs))) + (defun esml-string-matches-p (regexp str) "Non-nil iff the entire string matches the regexp." (and (string-match regexp str) |
From: Matthew F. <fl...@ml...> - 2005-08-20 06:30:19
|
Author: fluet Date: 2005-08-20 06:29:56 -0700 (Sat, 20 Aug 2005) New Revision: 4012 Modified: mlton/trunk/mlton/codegen/x86-codegen/x86-allocate-registers.fun mlton/trunk/mlton/codegen/x86-codegen/x86-validate.fun mlton/trunk/mlton/control/control-flags.sml mlton/trunk/mlton/elaborate/elaborate-core.fun mlton/trunk/mlton/elaborate/scope.fun mlton/trunk/mlton/main/main.fun mlton/trunk/mlton/ssa/analyze.fun mlton/trunk/mlton/ssa/ssa-tree.fun mlton/trunk/mlton/ssa/ssa-tree2.fun Log: Unused identifiers Modified: mlton/trunk/mlton/codegen/x86-codegen/x86-allocate-registers.fun =================================================================== --- mlton/trunk/mlton/codegen/x86-codegen/x86-allocate-registers.fun 2005-08-20 10:09:26 UTC (rev 4011) +++ mlton/trunk/mlton/codegen/x86-codegen/x86-allocate-registers.fun 2005-08-20 13:29:56 UTC (rev 4012) @@ -137,6 +137,7 @@ post: future list}, hint: hint list} +(* fun toString {dead, commit, remove, futures = {pre, post}, hint} = let fun doit (name, l, toString, s) @@ -155,6 +156,7 @@ doit("future (post): ", List.rev post, future_toString, doit("hint: ", hint, hint_toString, "")))))) end +*) fun toComments {dead, commit, remove, futures = {pre, post}, hint} = let @@ -712,6 +714,7 @@ reserved: Register.t list, fltstack: fltvalue list} +(* fun unique ({entries, fltstack, ...}: t) = let fun check_entries (entries: value list, res) = @@ -745,6 +748,7 @@ andalso check_fltstack(fltstack, true) end +*) fun toString ({entries, reserved, fltstack}: t) = let Modified: mlton/trunk/mlton/codegen/x86-codegen/x86-validate.fun =================================================================== --- mlton/trunk/mlton/codegen/x86-codegen/x86-validate.fun 2005-08-20 10:09:26 UTC (rev 4011) +++ mlton/trunk/mlton/codegen/x86-codegen/x86-validate.fun 2005-08-20 13:29:56 UTC (rev 4012) @@ -1276,7 +1276,7 @@ = (if List.forall(assembly, fn assembly => Assembly.validate {assembly = assembly} - handle Fail msg + handle Fail _ => (List.foreach (assembly, fn assembly Modified: mlton/trunk/mlton/control/control-flags.sml =================================================================== --- mlton/trunk/mlton/control/control-flags.sml 2005-08-20 10:09:26 UTC (rev 4011) +++ mlton/trunk/mlton/control/control-flags.sml 2005-08-20 13:29:56 UTC (rev 4012) @@ -760,6 +760,7 @@ | OptPassesDefault | OptPassesMinimal +(* local open Layout in val layout = @@ -768,6 +769,7 @@ | OptPassesMinimal => str "Minimal" end val toString = Layout.toString o layout +*) end datatype optimizationPasses = datatype OptimizationPasses.t val optimizationPassesSet : Modified: mlton/trunk/mlton/elaborate/elaborate-core.fun =================================================================== --- mlton/trunk/mlton/elaborate/elaborate-core.fun 2005-08-20 10:09:26 UTC (rev 4011) +++ mlton/trunk/mlton/elaborate/elaborate-core.fun 2005-08-20 13:29:56 UTC (rev 4012) @@ -1032,10 +1032,10 @@ (region, str "invalid type for _address", Type.layoutPretty elabedTy) val expandedPtrTy = expandedTy - val ctypePtrTy = + val () = case Type.toCType expandedPtrTy of - SOME {ctype = CType.Pointer, ...} => CType.Pointer - | _ => (error (); CType.Pointer) + SOME {ctype = CType.Pointer, ...} => () + | _ => (error (); ()) val addrExp = mkAddress {expandedPtrTy = expandedPtrTy, name = name} @@ -1168,10 +1168,10 @@ case Type.toCType expandedCbTy of SOME {ctype, ...} => ctype | NONE => (error (); CType.word (WordSize.default, {signed = false})) - val ctypePtrTy = + val () = case Type.toCType expandedPtrTy of - SOME {ctype = CType.Pointer, ...} => CType.Pointer - | _ => (error (); CType.Pointer) + SOME {ctype = CType.Pointer, ...} => () + | _ => (error (); ()) val ptrArg = Var.newNoname () val ptrExp = Cexp.var (ptrArg, expandedPtrTy) val symExp = Modified: mlton/trunk/mlton/elaborate/scope.fun =================================================================== --- mlton/trunk/mlton/elaborate/scope.fun 2005-08-20 10:09:26 UTC (rev 4011) +++ mlton/trunk/mlton/elaborate/scope.fun 2005-08-20 13:29:56 UTC (rev 4012) @@ -220,8 +220,6 @@ let datatype z = datatype PrimKind.t fun do1 ((a, u), f) = (f a, u) - fun do2 ((a1, u1), (a2, u2), f) = - (f (a1, a2), combineUp (u1, u2)) in case kind of Address {name, ty} => Modified: mlton/trunk/mlton/main/main.fun =================================================================== --- mlton/trunk/mlton/main/main.fun 2005-08-20 10:09:26 UTC (rev 4011) +++ mlton/trunk/mlton/main/main.fun 2005-08-20 13:29:56 UTC (rev 4012) @@ -312,7 +312,7 @@ usage (concat ["invalid -opt-passes flag: ", s]) fun doit optPasses = List.foreach - (!optimizationPassesSet, fn (il,optPassesSet) => + (!optimizationPassesSet, fn (_,optPassesSet) => case optPassesSet optPasses of Result.Yes () => () | Result.No s' => err ("il :: " ^ s')) Modified: mlton/trunk/mlton/ssa/analyze.fun =================================================================== --- mlton/trunk/mlton/ssa/analyze.fun 2005-08-20 10:09:26 UTC (rev 4011) +++ mlton/trunk/mlton/ssa/analyze.fun 2005-08-20 13:29:56 UTC (rev 4012) @@ -184,7 +184,7 @@ Option.layout (Vector.layout layout), Layout.ignore) loopTransfer - fun loopStatement (s as Statement.T {var, exp, ty}): unit = + fun loopStatement (Statement.T {var, exp, ty}): unit = let val v = case exp of Modified: mlton/trunk/mlton/ssa/ssa-tree.fun =================================================================== --- mlton/trunk/mlton/ssa/ssa-tree.fun 2005-08-20 10:09:26 UTC (rev 4011) +++ mlton/trunk/mlton/ssa/ssa-tree.fun 2005-08-20 13:29:56 UTC (rev 4012) @@ -970,7 +970,7 @@ structure Node = Graph.Node structure Edge = Graph.Edge in - fun determineControlFlow ({blocks, name, start, ...}: dest) = + fun determineControlFlow ({blocks, start, ...}: dest) = let open Dot val g = Graph.new () Modified: mlton/trunk/mlton/ssa/ssa-tree2.fun =================================================================== --- mlton/trunk/mlton/ssa/ssa-tree2.fun 2005-08-20 10:09:26 UTC (rev 4011) +++ mlton/trunk/mlton/ssa/ssa-tree2.fun 2005-08-20 13:29:56 UTC (rev 4012) @@ -1427,7 +1427,7 @@ structure Node = Graph.Node structure Edge = Graph.Edge in - fun determineControlFlow ({blocks, name, start, ...}: dest) = + fun determineControlFlow ({blocks, start, ...}: dest) = let open Dot val g = Graph.new () |