[MLton] cvs commit: reorganized Basis Library .mlbs
Matthew Fluet
fluet@mlton.org
Wed, 4 Aug 2004 17:36:50 -0700
fluet 04/08/04 17:36:49
Modified: . Makefile
basis-library README basis-1997.mlb basis-2002.mlb
basis-none.mlb equal.mlb infixes.mlb
pervasive-exns.mlb pervasive-types.mlb
pervasive-vals.mlb
basis-library/arrays-and-vectors sequence.fun
basis-library/general sml90.sml
basis-library/libs/basis-1997/top-level basis-funs.sml
basis.sml top-level.sml
basis-library/libs/basis-2002/top-level basis.sig basis.sml
pervasive-exns.sml pervasive-types.sml
pervasive-vals.sml top-level.sml
basis-library/libs/basis-none/top-level basis.sig basis.sml
basis-library/mlton mlton.sig
basis-library/sml-nj sml-nj.sml
bin regression
mlton/control control.sml
mlton/front-end import.cm mlb-front-end.fun
mlton/main compile.fun
Added: basis-library mlton.mlb sml-nj.mlb unsafe.mlb
basis-library/libs all.mlb
basis-library/libs/basis-1997 basis-1997.mlb
basis-library/libs/basis-2002 basis-2002.mlb
basis-library/libs/basis-extra basis-extra.mlb
basis-library/libs/basis-extra/top-level basis-funs.sml
basis-sigs.sml basis.sig basis.sml top-level.sml
Removed: basis-library basis-2002-strict.mlb
basis-library/libs build.mlb
basis-library/libs/basis-none/top-level suffix.sml
Log:
MAIL reorganized Basis Library .mlbs
Reorganized the Basis Library implementation files so that
- $(MLTON_ROOT)/basis/basis{-2002}.mlb:
Corresponds to strict adherence to the Basis Library specification
- $(MLTON_ROOT)/basis/basis-1997.mlb:
Corresponds to strict adherence to the 1997 Basis Library specification;
or, at least without extra signatures and structures below.
- $(MLTON_ROOT)/basis/mlton.mlb:
Provides MLTON{_*} signatures and MLton structure.
- $(MLTON_ROOT)/basis/sml-nj.mlb:
Provides SML_OF_NJ signature and SMLofNJ structure.
- $(MLTON_ROOT)/basis/unsafe.mlb:
Provides UNSAFE signature and Unsafe structure.
For backwards compatibility, when compiling a .sml or .cm file, the
implicit MLBs BasDec looks like:
local
$(MLTON_ROOT)/basis/<<!Control.basisLibrary>>.mlb
$(MLTON_ROOT)/basis/mlton.mlb
$(MLTON_ROOT)/basis/sml-nj.mlb
$(MLTON_ROOT)/basis/basis.mlb
in
z.sml
end
There is one minor semantic change; compiling with -basis 1997 does
not provide the Primitive structure. Hopefully no on was using it,
but it can be easily exported.
In light of the above, I've dropped compiler support for
-basis 2002-strict, and removed
$(MLTON_ROOT)/basis/basis-2002-strict.mlb. I haven't nuked
/basis-library/libs/basis-2002-strict just yet, but there is no longer
a need for it. On the other hand, I've kept support for -basis none
and $(MLTON_ROOT)/basis/basis-none.mlb, although I think that
$(MLTON_ROOT)/basis/pervasive.mlb is a better choice.
Revision Changes Path
1.118 +1 -1 mlton/Makefile
Index: Makefile
===================================================================
RCS file: /cvsroot/mlton/mlton/Makefile,v
retrieving revision 1.117
retrieving revision 1.118
diff -u -r1.117 -r1.118
--- Makefile 3 Aug 2004 21:22:12 -0000 1.117
+++ Makefile 5 Aug 2004 00:36:45 -0000 1.118
@@ -248,7 +248,7 @@
@echo 'Type checking basis.'
$(MLTON) -disable-ann deadCode \
-stop tc \
- $(LIB)/sml/basis/basis.mlb \
+ '$$(MLTON_ROOT)/basis/libs/all.mlb' \
>/dev/null
.PHONY: world-no-check
1.5 +2 -19 mlton/basis-library/README
Index: README
===================================================================
RCS file: /cvsroot/mlton/mlton/basis-library/README,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- README 10 Dec 2003 17:38:06 -0000 1.4
+++ README 5 Aug 2004 00:36:46 -0000 1.5
@@ -3,26 +3,9 @@
corresponding modules are grouped in the basis library documentation.
All other implementation files are in the misc/ and libs/ directories.
-The basis is constructed in two steps. First, all of the files in
-libs/build are concatenated together and evaluated to produce an
-environment E. Then, depending on compile time options, all of the
-files in libs/basis-*/bind evaluated in the environment E to produce a
-new environment E', which is the top-level environment.
+The basis is constructed using the ML Basis system.
-Another way to view it is that every program is prefixed by the
-following program.
-
-local
- <concatenate files in libs/build>
-in
- <concatenate files in libs/basis-*/bind>
-end
-
-This is not strictly accurate because some of the files are not
-Standard ML (see below) and because Standard ML does not allow local
-functor or signature declarations.
-
-Other than bind-basis and build-basis, there are several special files:
+There are several special files that make use of non-SML extensions.
misc/primitive.sml
posix/primitve.sml
1.3 +2 -1 mlton/basis-library/basis-1997.mlb
Index: basis-1997.mlb
===================================================================
RCS file: /cvsroot/mlton/mlton/basis-library/basis-1997.mlb,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- basis-1997.mlb 30 Jul 2004 19:07:57 -0000 1.2
+++ basis-1997.mlb 5 Aug 2004 00:36:46 -0000 1.3
@@ -5,7 +5,8 @@
warnUnused true, forceUsed
in
local
- ann forceUsed in libs/build.mlb end
+ basis-2002.mlb
+ libs/basis-1997/basis-1997.mlb
in
libs/basis-1997/top-level/basis-funs.sml
libs/basis-1997/top-level/basis-sigs.sml
1.3 +2 -1 mlton/basis-library/basis-2002.mlb
Index: basis-2002.mlb
===================================================================
RCS file: /cvsroot/mlton/mlton/basis-library/basis-2002.mlb,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- basis-2002.mlb 30 Jul 2004 19:07:57 -0000 1.2
+++ basis-2002.mlb 5 Aug 2004 00:36:46 -0000 1.3
@@ -5,7 +5,8 @@
warnUnused true, forceUsed
in
local
- libs/build.mlb
+ libs/basis-extra/basis-extra.mlb
+ libs/basis-2002/basis-2002.mlb
in
libs/basis-2002/top-level/basis-funs.sml
libs/basis-2002/top-level/basis-sigs.sml
1.3 +3 -1 mlton/basis-library/basis-none.mlb
Index: basis-none.mlb
===================================================================
RCS file: /cvsroot/mlton/mlton/basis-library/basis-none.mlb,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- basis-none.mlb 30 Jul 2004 19:07:57 -0000 1.2
+++ basis-none.mlb 5 Aug 2004 00:36:46 -0000 1.3
@@ -5,7 +5,9 @@
warnUnused true, forceUsed
in
local
- ann forceUsed in libs/build.mlb end
+ libs/basis-extra/basis-extra.mlb
+ libs/basis-none/top-level/basis.sig
+ libs/basis-none/top-level/basis.sml
in
libs/basis-none/top-level/top-level.sml
libs/basis-none/top-level/infixes.sml
1.2 +2 -1 mlton/basis-library/equal.mlb
Index: equal.mlb
===================================================================
RCS file: /cvsroot/mlton/mlton/basis-library/equal.mlb,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- equal.mlb 30 Jul 2004 19:07:57 -0000 1.1
+++ equal.mlb 5 Aug 2004 00:36:46 -0000 1.2
@@ -5,7 +5,8 @@
warnUnused true, forceUsed
in
local
- libs/build.mlb
+ libs/basis-2002/basis-2002.mlb
+ basis-2002.mlb
libs/basis-2002/top-level/basis-equal.sig
in
libs/basis-2002/top-level/pervasive-equal.sml
1.2 +1 -5 mlton/basis-library/infixes.mlb
Index: infixes.mlb
===================================================================
RCS file: /cvsroot/mlton/mlton/basis-library/infixes.mlb,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- infixes.mlb 30 Jul 2004 19:07:57 -0000 1.1
+++ infixes.mlb 5 Aug 2004 00:36:46 -0000 1.2
@@ -4,9 +4,5 @@
warnMatch true,
warnUnused true, forceUsed
in
- local
- basis-2002.mlb
- in
- libs/basis-2002/top-level/infixes.sml
- end
+ libs/basis-2002/top-level/infixes.sml
end
1.2 +2 -1 mlton/basis-library/pervasive-exns.mlb
Index: pervasive-exns.mlb
===================================================================
RCS file: /cvsroot/mlton/mlton/basis-library/pervasive-exns.mlb,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- pervasive-exns.mlb 30 Jul 2004 19:07:57 -0000 1.1
+++ pervasive-exns.mlb 5 Aug 2004 00:36:46 -0000 1.2
@@ -5,7 +5,8 @@
warnUnused true, forceUsed
in
local
- libs/build.mlb
+ libs/basis-2002/basis-2002.mlb
+ basis-2002.mlb
libs/basis-2002/top-level/basis-exns.sig
in
libs/basis-2002/top-level/pervasive-exns.sml
1.2 +3 -1 mlton/basis-library/pervasive-types.mlb
Index: pervasive-types.mlb
===================================================================
RCS file: /cvsroot/mlton/mlton/basis-library/pervasive-types.mlb,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- pervasive-types.mlb 30 Jul 2004 19:07:57 -0000 1.1
+++ pervasive-types.mlb 5 Aug 2004 00:36:46 -0000 1.2
@@ -5,9 +5,11 @@
warnUnused true, forceUsed
in
local
- libs/build.mlb
+ libs/basis-2002/basis-2002.mlb
+ basis-2002.mlb
libs/basis-2002/top-level/basis-types.sig
in
+
libs/basis-2002/top-level/pervasive-types.sml
end
end
1.2 +2 -1 mlton/basis-library/pervasive-vals.mlb
Index: pervasive-vals.mlb
===================================================================
RCS file: /cvsroot/mlton/mlton/basis-library/pervasive-vals.mlb,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- pervasive-vals.mlb 30 Jul 2004 19:07:57 -0000 1.1
+++ pervasive-vals.mlb 5 Aug 2004 00:36:46 -0000 1.2
@@ -5,7 +5,8 @@
warnUnused true, forceUsed
in
local
- libs/build.mlb
+ libs/basis-2002/basis-2002.mlb
+ basis-2002.mlb
libs/basis-2002/top-level/basis-vals.sig
in
libs/basis-2002/top-level/pervasive-vals.sml
1.1 mlton/basis-library/mlton.mlb
Index: mlton.mlb
===================================================================
ann
deadCode true,
sequenceUnit true,
warnMatch true,
warnUnused true, forceUsed
in
local
libs/basis-extra/basis-extra.mlb
in
signature MLTON
signature MLTON_ARRAY
signature MLTON_BIN_IO
signature MLTON_CONT
signature MLTON_EXN
signature MLTON_FINALIZABLE
signature MLTON_GC
signature MLTON_INT_INF
signature MLTON_IO
signature MLTON_ITIMER
signature MLTON_PLATFORM
signature MLTON_POINTER
signature MLTON_PROC_ENV
signature MLTON_PROCESS
signature MLTON_PROFILE
signature MLTON_RANDOM
signature MLTON_RLIMIT
signature MLTON_RUSAGE
signature MLTON_SIGNAL
signature MLTON_SOCKET
signature MLTON_SYSLOG
signature MLTON_TEXT_IO
signature MLTON_THREAD
signature MLTON_VECTOR
signature MLTON_WEAK
signature MLTON_WORD
signature MLTON_WORLD
structure MLton
end
end
1.1 mlton/basis-library/sml-nj.mlb
Index: sml-nj.mlb
===================================================================
ann
deadCode true,
sequenceUnit true,
warnMatch true,
warnUnused true, forceUsed
in
local
libs/basis-extra/basis-extra.mlb
in
signature SML_OF_NJ
structure SMLofNJ
end
end
1.1 mlton/basis-library/unsafe.mlb
Index: unsafe.mlb
===================================================================
ann
deadCode true,
sequenceUnit true,
warnMatch true,
warnUnused true, forceUsed
in
local
libs/basis-extra/basis-extra.mlb
in
signature UNSAFE
structure Unsafe
end
end
1.18 +0 -5 mlton/basis-library/arrays-and-vectors/sequence.fun
Index: sequence.fun
===================================================================
RCS file: /cvsroot/mlton/mlton/basis-library/arrays-and-vectors/sequence.fun,v
retrieving revision 1.17
retrieving revision 1.18
diff -u -r1.17 -r1.18
--- sequence.fun 16 Feb 2004 22:43:18 -0000 1.17
+++ sequence.fun 5 Aug 2004 00:36:47 -0000 1.18
@@ -463,10 +463,8 @@
fun findi p = make (Slice.findi p)
fun find p = make (Slice.find p)
fun existsi p = make (Slice.existsi p)
- val _ = existsi (* quell unused variable warning *)
fun exists p = make (Slice.exists p)
fun alli p = make (Slice.alli p)
- val _ = alli (* quell unused variable warning *)
fun all p = make (Slice.all p)
fun collate cmp = make2 (Slice.collate cmp)
fun concatWith sep seqs = Slice.concatWith sep (List.map Slice.full seqs)
@@ -477,11 +475,8 @@
fun tokens f seq = List.map Slice.sequence (make (Slice.tokens f) seq)
fun fields f seq = List.map Slice.sequence (make (Slice.fields f) seq)
fun createi tabulate f seq = make (Slice.createi tabulate f) seq
- val _ = createi (* quell unused variable warning *)
fun create tabulate f seq = make (Slice.create tabulate f) seq
- val _ = create (* quell unused variable warning *)
fun duplicate seq = make Slice.sequence seq
- val _ = duplicate (* quell unused variable warning *)
fun toList seq = make Slice.toList seq
end
1.7 +0 -28 mlton/basis-library/general/sml90.sml
Index: sml90.sml
===================================================================
RCS file: /cvsroot/mlton/mlton/basis-library/general/sml90.sml,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- sml90.sml 18 Mar 2004 00:32:44 -0000 1.6
+++ sml90.sml 5 Aug 2004 00:36:47 -0000 1.7
@@ -67,31 +67,3 @@
handle IO.Io _ => raise Io "Output stream is closed"
val close_out = TextIO.closeOut
end
-
-(* The following is to quell unused variable warnings. *)
-local
- open SML90
- val _ = (Abs, Diff, Exp, Floor, Interrupt, Io "", Ln, Mod, Neg, Ord, Prod,
- Quot, Sqrt, Sum)
- val _ = arctan
- val _ = chr
- val _ = close_in
- val _ = close_out
- val _ = cos
- val _ = end_of_stream
- val _ = exp
- val _ = explode
- val _ = implode
- val _ = input
- val _ = ln
- val _ = lookahead
- val _ = open_in
- val _ = open_out
- val _ = ord
- val _ = output
- val _ = sin
- val _ = sqrt
- val _ = std_in: instream
- val _ = std_out: outstream
-in
-end
1.1 mlton/basis-library/libs/all.mlb
Index: all.mlb
===================================================================
local
../basis.mlb
../pervasive.mlb
../basis-2002.mlb
../basis-1997.mlb
../basis-none.mlb
../mlton.mlb
../sml-nj.mlb
../unsafe.mlb
in
end
1.1 mlton/basis-library/libs/basis-1997/basis-1997.mlb
Index: basis-1997.mlb
===================================================================
ann
deadCode true,
sequenceUnit true,
warnMatch true,
warnUnused true, forceUsed
in
local
../basis-2002/basis-2002.mlb
../../basis-2002.mlb
local
../basis-extra/basis-extra.mlb
in
signature SML90
structure SML90
end
arrays-and-vectors/vector.sig
arrays-and-vectors/array.sig
arrays-and-vectors/vector-array-convert.fun
arrays-and-vectors/mono-vector.sig
arrays-and-vectors/mono-array.sig
arrays-and-vectors/mono-array2.sig
arrays-and-vectors/mono-vector-array-array2-convert.fun
integer/word.sig
text/string.sig
text/substring.sig
text/text-convert.fun
real/IEEE-real.sig
real/IEEE-real-convert.fun
real/real.sig
real/real-convert.fun
posix/flags.sig
posix/flags-convert.fun
posix/process.sig
posix/process-convert.fun
posix/file-sys.sig
posix/file-sys-convert.fun
posix/io.sig
posix/io-convert.fun
posix/tty.sig
posix/tty-convert.fun
posix/posix.sig
posix/posix-convert.fun
system/timer.sig
system/timer-convert.fun
system/file-sys.sig
system/file-sys-convert.fun
system/path.sig
system/path-convert.fun
system/process.sig
system/process-convert.fun
system/os.sig
system/os-convert.fun
system/unix.sig
system/unix-convert.fun
io/io.sig
io/io-convert.fun
io/stream-io.sig
io/text-stream-io.sig
io/text-io.sig
io/text-io-convert.fun
io/bin-stream-io.sig
io/bin-io.sig
io/bin-io-convert.fun
top-level/basis.sig
top-level/basis.sml
in
signature MONO_ARRAY_1997
signature MONO_VECTOR_1997
signature REAL_1997
signature STRING_1997
signature SUBSTRING_1997
signature WORD_1997
signature ARRAY_1997
signature IEEE_REAL_1997
signature IO_1997
signature OS_1997
signature OS_FILE_SYS_1997
signature OS_PATH_1997
signature OS_PROCESS_1997
signature SML90
signature TIMER_1997
signature VECTOR_1997
signature MONO_ARRAY2_1997
signature POSIX_FLAGS_1997
signature POSIX_1997
signature POSIX_PROCESS_1997
signature POSIX_FILE_SYS_1997
signature POSIX_IO_1997
signature POSIX_TTY_1997
signature UNIX_1997
structure Basis1997
end
end
1.3 +0 -5 mlton/basis-library/libs/basis-1997/top-level/basis-funs.sml
Index: basis-funs.sml
===================================================================
RCS file: /cvsroot/mlton/mlton/basis-library/libs/basis-1997/top-level/basis-funs.sml,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- basis-funs.sml 24 Nov 2002 01:19:38 -0000 1.2
+++ basis-funs.sml 5 Aug 2004 00:36:47 -0000 1.3
@@ -1,8 +1,3 @@
(* Required functors *)
(* Optional functors *)
-(*
-functor PrimIO (S: PRIM_IO_ARG) = PrimIO (S)
-functor StreamIO (S: STREAM_IO_ARG) = StreamIO (S)
-functor ImperativeIO (S: IMPERATIVE_IO_ARG) = ImperativeIO (S)
-*)
\ No newline at end of file
1.7 +0 -73 mlton/basis-library/libs/basis-1997/top-level/basis.sml
Index: basis.sml
===================================================================
RCS file: /cvsroot/mlton/mlton/basis-library/libs/basis-1997/top-level/basis.sml,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- basis.sml 20 Feb 2004 18:13:54 -0000 1.6
+++ basis.sml 5 Aug 2004 00:36:47 -0000 1.7
@@ -98,76 +98,3 @@
structure Unix = UnixConvert (structure Unix = Unix)
end
-
-
-(* quell unused warning *)
-local
- open Basis1997
- open Array
- Array2
- BinIO
- Bool
- BoolArray
- BoolArray2
- BoolVector
- Byte
- Char
- CharArray
- CharArray2
- CharVector
- CommandLine
- Date
- FixedInt
- General
- IEEEReal
- IO
- Int
- Int32
- Int32Array
- Int32Array2
- Int32Vector
- IntArray
- IntArray2
- IntInf
- IntVector
- LargeInt
- LargeReal
- LargeWord
- List
- ListPair
- Math
- OS
- Option
- Pack32Big
- Pack32Little
- PackReal64Little
- PackRealLittle
- Position
- Posix
- Real
- Real64
- Real64Array
- Real64Array2
- Real64Vector
- RealArray
- RealArray2
- RealVector
- SML90
- String
- StringCvt
- Substring
- SysWord
- TextIO
- Time
- Timer
- Unix
- Vector
- Word
- Word32
- Word64
- Word8
- Word8Array
- Word8Array2
- Word8Vector
-in
-end
1.7 +0 -17 mlton/basis-library/libs/basis-1997/top-level/top-level.sml
Index: top-level.sml
===================================================================
RCS file: /cvsroot/mlton/mlton/basis-library/libs/basis-1997/top-level/top-level.sml,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- top-level.sml 30 Jul 2004 19:07:57 -0000 1.6
+++ top-level.sml 5 Aug 2004 00:36:47 -0000 1.7
@@ -1,19 +1,2 @@
-(* Non-standard signatures *)
-signature MLTON = MLTON
-signature SML_OF_NJ = SML_OF_NJ
-signature UNSAFE = UNSAFE
-
-(* Non-standard structures *)
-structure Primitive = Primitive
-local
- open Basis2002
-in
- structure MLton = MLton
- structure SMLofNJ = SMLofNJ
- structure Unsafe = Unsafe
-end
-
open Basis1997
-
-_basis_done MLtonFFI
1.1 mlton/basis-library/libs/basis-2002/basis-2002.mlb
Index: basis-2002.mlb
===================================================================
ann
deadCode true,
sequenceUnit true,
warnMatch true,
warnUnused true, forceUsed
in
local
../basis-extra/basis-extra.mlb
top-level/basis.sig
top-level/basis.sml
in
structure Basis2002
end
end
1.49 +6 -163 mlton/basis-library/libs/basis-2002/top-level/basis.sig
Index: basis.sig
===================================================================
RCS file: /cvsroot/mlton/mlton/basis-library/libs/basis-2002/top-level/basis.sig,v
retrieving revision 1.48
retrieving revision 1.49
diff -u -r1.48 -r1.49
--- basis.sig 30 Jul 2004 19:07:57 -0000 1.48
+++ basis.sig 5 Aug 2004 00:36:48 -0000 1.49
@@ -2,14 +2,14 @@
sig
(* Top-level types *)
eqtype 'a array
- datatype bool = datatype bool
+ datatype bool = datatype BasisExtra.bool
eqtype char
type exn
eqtype int
datatype 'a option = NONE | SOME of 'a
datatype order = LESS | EQUAL | GREATER
- datatype list = datatype list
- datatype ref = datatype ref
+ datatype list = datatype BasisExtra.list
+ datatype ref = datatype BasisExtra.ref
type real
eqtype string
type substring
@@ -32,6 +32,9 @@
exception Subscript
(* Top-level values *)
+ val = : ''a * ''a -> bool
+ val <> : ''a * ''a -> bool
+
val ! : 'a ref -> 'a
val := : 'a ref * 'a -> unit
val @ : ('a list * 'a list) -> 'a list
@@ -76,9 +79,6 @@
val valOf : 'a option -> 'a
val vector : 'a list -> 'a vector
- val = : ''a * ''a -> bool
- val <> : ''a * ''a -> bool
-
(* Required structures *)
structure Array : ARRAY
structure ArraySlice : ARRAY_SLICE
@@ -308,22 +308,6 @@
structure Word64ArraySlice : MONO_ARRAY_SLICE
structure Word64Vector : MONO_VECTOR
structure Word64VectorSlice : MONO_VECTOR_SLICE
-
- (* Non-standard structures *)
- structure MLton: MLTON
- structure SMLofNJ: SML_OF_NJ
- structure Unsafe: UNSAFE
-
- sharing type MLton.IntInf.t = IntInf.int
- sharing type MLton.Process.pid = Posix.Process.pid
- sharing type MLton.Signal.t = Posix.Signal.signal
- sharing type MLton.Word.t = Word.word
- sharing type MLton.Word8.t = Word8.word
- sharing Unsafe.CharArray = CharArray
- sharing Unsafe.CharVector = CharVector
- sharing Unsafe.Real64Array = Real64Array
- sharing Unsafe.Word8Array = Word8Array
- sharing Unsafe.Word8Vector = Word8Vector
(* ************************************************** *)
(* ************************************************** *)
@@ -612,144 +596,3 @@
sharing type Word64Array2.elem = Word64.word
sharing type Word64Array2.vector = Word64Vector.vector
end
- (* bool is already defined as bool and so cannot be shared.
- * So, we where these to get the needed sharing.
- *)
- where type BoolArray.elem = bool
- where type BoolArray2.elem = bool
- where type BoolArraySlice.elem = bool
- where type BoolVector.elem = bool
- where type BoolVectorSlice.elem = bool
-
- (* Top-level types. These appear free in basis signatures and hence must be
- * the same in the basis as at the top level.
- *)
- where type 'a array = 'a array
- where type 'a option = 'a option
- where type 'a vector = 'a vector
- where type char = char
- where type exn = exn
- where type order = order
- where type real = real
- where type string = string
- where type substring = substring
- where type unit = unit
-
- (* Types referenced in signatures by structure name *)
-(*
- where type 'a Array.array = 'a Array.array
-*)
- where type 'a ArraySlice.slice = 'a ArraySlice.slice
- where type BinIO.instream = BinIO.instream
- where type BinIO.outstream = BinIO.outstream
- where type BinPrimIO.reader = BinPrimIO.reader
- where type BinPrimIO.writer = BinPrimIO.writer
- where type FixedInt.int = FixedInt.int
- where type IO.buffer_mode = IO.buffer_mode
- where type LargeInt.int = LargeInt.int
- where type LargeReal.real = LargeReal.real
- where type LargeWord.word = LargeWord.word
- where type IEEEReal.real_order = IEEEReal.real_order
- where type IEEEReal.float_class = IEEEReal.float_class
- where type IEEEReal.rounding_mode = IEEEReal.rounding_mode
- where type NetHostDB.in_addr = NetHostDB.in_addr
- where type NetHostDB.addr_family = NetHostDB.addr_family
- where type OS.IO.iodesc = OS.IO.iodesc
- where type OS.Process.status = OS.Process.status (* UNIX *)
- where type Position.int = Position.int
- where type Posix.IO.file_desc = Posix.IO.file_desc
- where type Posix.Signal.signal = Posix.Signal.signal
- where type Socket.dgram = Socket.dgram
- where type ('a, 'b) Socket.sock = ('a, 'b) Socket.sock
- where type 'a Socket.sock_addr = 'a Socket.sock_addr
- where type Socket.SOCK.sock_type = Socket.SOCK.sock_type (* GENERIC_SOCK *)
- where type 'a Socket.stream = 'a Socket.stream
- where type StringCvt.radix = StringCvt.radix
- where type StringCvt.realfmt = StringCvt.realfmt
-(*
- where type ('a, 'b) StringCvt.reader = ('a, 'b) StringCvt.reader
-*)
- where type SysWord.word = SysWord.word
- where type TextIO.instream = TextIO.instream
- where type TextIO.outstream = TextIO.outstream
- where type TextPrimIO.reader = TextPrimIO.reader
- where type TextPrimIO.writer = TextPrimIO.writer
- where type Time.time = Time.time
-(*
- where type 'a Vector.vector = 'a Vector.vector
-*)
- where type 'a VectorSlice.slice = 'a VectorSlice.slice
- where type Word8Array.array = Word8Array.array
- where type Word8ArraySlice.slice = Word8ArraySlice.slice
- where type Word8ArraySlice.vector_slice = Word8ArraySlice.vector_slice
- where type Word8Vector.vector = Word8Vector.vector
-
- (* Types that must be exposed because constants denote them. *)
- where type Int2.int = Int2.int
- where type Int3.int = Int3.int
- where type Int4.int = Int4.int
- where type Int5.int = Int5.int
- where type Int6.int = Int6.int
- where type Int7.int = Int7.int
- where type Int8.int = Int8.int
- where type Int9.int = Int9.int
- where type Int10.int = Int10.int
- where type Int11.int = Int11.int
- where type Int12.int = Int12.int
- where type Int13.int = Int13.int
- where type Int14.int = Int14.int
- where type Int15.int = Int15.int
- where type Int16.int = Int16.int
- where type Int17.int = Int17.int
- where type Int18.int = Int18.int
- where type Int19.int = Int19.int
- where type Int20.int = Int20.int
- where type Int21.int = Int21.int
- where type Int22.int = Int22.int
- where type Int23.int = Int23.int
- where type Int24.int = Int24.int
- where type Int25.int = Int25.int
- where type Int26.int = Int26.int
- where type Int27.int = Int27.int
- where type Int28.int = Int28.int
- where type Int29.int = Int29.int
- where type Int30.int = Int30.int
- where type Int31.int = Int31.int
- where type Int32.int = Int32.int
- where type Int64.int = Int64.int
- where type IntInf.int = IntInf.int
- where type Real32.real = Real32.real
- where type Word2.word = Word2.word
- where type Word3.word = Word3.word
- where type Word4.word = Word4.word
- where type Word5.word = Word5.word
- where type Word6.word = Word6.word
- where type Word7.word = Word7.word
- where type Word8.word = Word8.word
- where type Word9.word = Word9.word
- where type Word10.word = Word10.word
- where type Word11.word = Word11.word
- where type Word12.word = Word12.word
- where type Word13.word = Word13.word
- where type Word14.word = Word14.word
- where type Word15.word = Word15.word
- where type Word16.word = Word16.word
- where type Word17.word = Word17.word
- where type Word18.word = Word18.word
- where type Word19.word = Word19.word
- where type Word20.word = Word20.word
- where type Word21.word = Word21.word
- where type Word22.word = Word22.word
- where type Word23.word = Word23.word
- where type Word24.word = Word24.word
- where type Word25.word = Word25.word
- where type Word26.word = Word26.word
- where type Word27.word = Word27.word
- where type Word28.word = Word28.word
- where type Word29.word = Word29.word
- where type Word30.word = Word30.word
- where type Word31.word = Word31.word
- where type Word32.word = Word32.word
- where type Word64.word = Word64.word
-
- where type 'a MLton.Thread.t = 'a MLton.Thread.t
1.24 +1 -259 mlton/basis-library/libs/basis-2002/top-level/basis.sml
Index: basis.sml
===================================================================
RCS file: /cvsroot/mlton/mlton/basis-library/libs/basis-2002/top-level/basis.sml,v
retrieving revision 1.23
retrieving revision 1.24
diff -u -r1.23 -r1.24
--- basis.sml 30 Jul 2004 19:07:57 -0000 1.23
+++ basis.sml 5 Aug 2004 00:36:48 -0000 1.24
@@ -1,259 +1 @@
-structure Basis2002:> BASIS_2002 =
- struct
- (* Required structures *)
- structure Array = Array
- structure ArraySlice = ArraySlice
- structure BinIO = BinIO
- structure BinPrimIO = BinPrimIO
- structure Bool = Bool
- structure Byte = Byte
- structure Char = Char
- structure CharArray = CharArray
- structure CharArraySlice = CharArraySlice
- structure CharVector = CharVector
- structure CharVectorSlice = CharVectorSlice
- structure CommandLine = CommandLine
- structure Date = Date
- structure General = General
- structure IEEEReal = IEEEReal
- structure IO = IO
- structure Int = Int
- structure LargeInt = LargeInt
- structure LargeReal = LargeReal
- structure LargeWord = LargeWord
- structure List = List
- structure ListPair = ListPair
- structure OS = OS
- structure Option = Option
- structure Position = Position
- structure Real = Real
- structure String = String
- structure StringCvt = StringCvt
- structure Substring = Substring
- structure Text = Text
- structure TextIO = TextIO
- structure TextPrimIO = TextPrimIO
- structure Time = Time
- structure Timer = Timer
- structure Vector = Vector
- structure VectorSlice = VectorSlice
- structure Word = Word
- structure Word8 = Word8
- structure Word8Array = Word8Array
- structure Word8Array2 = Word8Array2
- structure Word8ArraySlice = Word8ArraySlice
- structure Word8Vector = Word8Vector
- structure Word8VectorSlice = Word8VectorSlice
-
- (* Optional structures *)
- structure Array2 = Array2
- structure BoolArray = BoolArray
- structure BoolArray2 = BoolArray2
- structure BoolArraySlice = BoolArraySlice
- structure BoolVector = BoolVector
- structure BoolVectorSlice = BoolVectorSlice
- structure CharArray2 = CharArray2
- structure FixedInt = FixedInt
- structure GenericSock = GenericSock
- structure INetSock = INetSock
- structure Int16 = Int16
- structure Int16Array = Int16Array
- structure Int16Array2 = Int16Array2
- structure Int16ArraySlice = Int16ArraySlice
- structure Int16Vector = Int16Vector
- structure Int16VectorSlice = Int16VectorSlice
- structure Int2 = Int2
- structure Int3 = Int3
- structure Int4 = Int4
- structure Int5 = Int5
- structure Int6 = Int6
- structure Int7 = Int7
- structure Int8 = Int8
- structure Int9 = Int9
- structure Int10 = Int10
- structure Int11 = Int11
- structure Int12 = Int12
- structure Int13 = Int13
- structure Int14 = Int14
- structure Int15 = Int15
- structure Int16 = Int16
- structure Int17 = Int17
- structure Int18 = Int18
- structure Int19 = Int19
- structure Int20 = Int20
- structure Int21 = Int21
- structure Int22 = Int22
- structure Int23 = Int23
- structure Int24 = Int24
- structure Int25 = Int25
- structure Int26 = Int26
- structure Int27 = Int27
- structure Int28 = Int28
- structure Int29 = Int29
- structure Int30 = Int30
- structure Int31 = Int31
- structure Int32 = Int32
- structure Int32Array = Int32Array
- structure Int32Array2 = Int32Array2
- structure Int32ArraySlice = Int32ArraySlice
- structure Int32Vector = Int32Vector
- structure Int32VectorSlice = Int32VectorSlice
- structure Int64 = Int64
- structure Int64Array = Int64Array
- structure Int64Array2 = Int64Array2
- structure Int64ArraySlice = Int64ArraySlice
- structure Int64Vector = Int64Vector
- structure Int64VectorSlice = Int64VectorSlice
- structure Int8 = Int8
- structure Int8Array = Int8Array
- structure Int8Array2 = Int8Array2
- structure Int8ArraySlice = Int8ArraySlice
- structure Int8Vector = Int8Vector
- structure Int8VectorSlice = Int8VectorSlice
- structure IntArray = IntArray
- structure IntArray2 = IntArray2
- structure IntArraySlice = IntArraySlice
- structure IntInf = IntInf
- structure IntVector = IntVector
- structure IntVectorSlice = IntVectorSlice
- structure LargeIntArray = LargeIntArray
- structure LargeIntArray2 = LargeIntArray2
- structure LargeIntArraySlice = LargeIntArraySlice
- structure LargeIntVector = LargeIntVector
- structure LargeIntVectorSlice = LargeIntVectorSlice
- structure LargeRealArray = LargeRealArray
- structure LargeRealArray2 = LargeRealArray2
- structure LargeRealArraySlice = LargeRealArraySlice
- structure LargeRealVector = LargeRealVector
- structure LargeRealVectorSlice = LargeRealVectorSlice
- structure LargeWordArray = LargeWordArray
- structure LargeWordArray2 = LargeWordArray2
- structure LargeWordArraySlice = LargeWordArraySlice
- structure LargeWordVector = LargeWordVector
- structure LargeWordVectorSlice = LargeWordVectorSlice
- structure NetHostDB = NetHostDB
- structure NetProtDB = NetProtDB
- structure NetServDB = NetServDB
- structure PackReal32Big = PackReal32Big
- structure PackReal32Little = PackReal32Little
- structure PackReal64Big = PackReal64Big
- structure PackReal64Little = PackReal64Little
- structure PackRealBig = PackRealBig
- structure PackRealLittle = PackRealLittle
- structure PackWord32Big = PackWord32Big
- structure PackWord32Little = PackWord32Little
- structure Posix = Posix
- structure Real32 = Real32
- structure Real32Array = Real32Array
- structure Real32Array2 = Real32Array2
- structure Real32ArraySlice = Real32ArraySlice
- structure Real32Vector = Real32Vector
- structure Real32VectorSlice = Real32VectorSlice
- structure Real64 = Real64
- structure Real64Array = Real64Array
- structure Real64Array2 = Real64Array2
- structure Real64ArraySlice = Real64ArraySlice
- structure Real64Vector = Real64Vector
- structure Real64VectorSlice = Real64VectorSlice
- structure RealArray = RealArray
- structure RealArray2 = RealArray2
- structure RealArraySlice = RealArraySlice
- structure RealVector = RealVector
- structure RealVectorSlice = RealVectorSlice
- structure Socket = Socket
- structure SysWord = SysWord
- structure Unix = Unix
- structure UnixSock = UnixSock
-(*
- structure WideChar = WideChar
- structure WideCharArray = WideCharArray
- structure WideCharArray2 = WideCharArray2
- structure WideCharArraySlice = WideCharArraySlice
- structure WideCharVector = WideCharVector
- structure WideCharVectorSlice = WideCharVectorSlice
- structure WideString = WideString
- structure WideSubstring = WideSubstring
- structure WideText = WideText
- structure WideTextPrimIO = WideTextPrimIO
-*)
-(*
- structure Windows = Windows
-*)
- structure Word2 = Word2
- structure Word3 = Word3
- structure Word4 = Word4
- structure Word5 = Word5
- structure Word6 = Word6
- structure Word7 = Word7
- structure Word8 = Word8
- structure Word9 = Word9
- structure Word10 = Word10
- structure Word11 = Word11
- structure Word12 = Word12
- structure Word13 = Word13
- structure Word14 = Word14
- structure Word15 = Word15
- structure Word16 = Word16
- structure Word17 = Word17
- structure Word18 = Word18
- structure Word19 = Word19
- structure Word20 = Word20
- structure Word21 = Word21
- structure Word22 = Word22
- structure Word23 = Word23
- structure Word24 = Word24
- structure Word25 = Word25
- structure Word26 = Word26
- structure Word27 = Word27
- structure Word28 = Word28
- structure Word29 = Word29
- structure Word30 = Word30
- structure Word31 = Word31
- structure Word32 = Word32
- structure Word64 = Word64
- structure WordArray = WordArray
- structure WordArray2 = WordArray2
- structure WordArraySlice = WordArraySlice
- structure WordVector = WordVector
- structure WordVectorSlice = WordVectorSlice
- structure Word16 = Word16
- structure Word16Array = Word16Array
- structure Word16Array2 = Word16Array2
- structure Word16ArraySlice = Word16ArraySlice
- structure Word16Vector = Word16Vector
- structure Word16VectorSlice = Word16VectorSlice
- structure Word32Array = Word32Array
- structure Word32Array2 = Word32Array2
- structure Word32ArraySlice = Word32ArraySlice
- structure Word32Vector = Word32Vector
- structure Word32VectorSlice = Word32VectorSlice
- structure Word64Array = Word64Array
- structure Word64Array2 = Word64Array2
- structure Word64ArraySlice = Word64ArraySlice
- structure Word64Vector = Word64Vector
- structure Word64VectorSlice = Word64VectorSlice
-
- structure MLton = MLton
- structure SMLofNJ = SMLofNJ
- structure Unsafe = Unsafe
-
- open ArrayGlobal
- BoolGlobal
- CharGlobal
- IntGlobal
- GeneralGlobal
- ListGlobal
- OptionGlobal
- RealGlobal
- StringGlobal
- RealGlobal
- SubstringGlobal
- TextIOGlobal
- VectorGlobal
- WordGlobal
- val real = real
- val op = = op =
- val op <> = op <>
- val vector = vector
- datatype ref = datatype ref
- end
+structure Basis2002 : BASIS_2002 = BasisExtra
1.2 +1 -1 mlton/basis-library/libs/basis-2002/top-level/pervasive-exns.sml
Index: pervasive-exns.sml
===================================================================
RCS file: /cvsroot/mlton/mlton/basis-library/libs/basis-2002/top-level/pervasive-exns.sml,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- pervasive-exns.sml 30 Jul 2004 19:07:57 -0000 1.1
+++ pervasive-exns.sml 5 Aug 2004 00:36:48 -0000 1.2
@@ -1,5 +1,5 @@
local
- structure B = Basis2002 : BASIS_2002_EXNS
+ structure B : BASIS_2002_EXNS = Basis2002
in
open B
end
1.2 +2 -2 mlton/basis-library/libs/basis-2002/top-level/pervasive-types.sml
Index: pervasive-types.sml
===================================================================
RCS file: /cvsroot/mlton/mlton/basis-library/libs/basis-2002/top-level/pervasive-types.sml,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- pervasive-types.sml 30 Jul 2004 19:07:57 -0000 1.1
+++ pervasive-types.sml 5 Aug 2004 00:36:48 -0000 1.2
@@ -1,5 +1,5 @@
local
- structure B = Basis2002 : BASIS_2002_TYPES
+ structure B : BASIS_2002_TYPES = Basis2002
in
open B
-end
\ No newline at end of file
+end
1.2 +1 -1 mlton/basis-library/libs/basis-2002/top-level/pervasive-vals.sml
Index: pervasive-vals.sml
===================================================================
RCS file: /cvsroot/mlton/mlton/basis-library/libs/basis-2002/top-level/pervasive-vals.sml,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- pervasive-vals.sml 30 Jul 2004 19:07:57 -0000 1.1
+++ pervasive-vals.sml 5 Aug 2004 00:36:48 -0000 1.2
@@ -1,5 +1,5 @@
local
- structure B = Basis2002 : BASIS_2002_VALS
+ structure B : BASIS_2002_VALS = Basis2002
in
open B
end
1.14 +0 -34 mlton/basis-library/libs/basis-2002/top-level/top-level.sml
Index: top-level.sml
===================================================================
RCS file: /cvsroot/mlton/mlton/basis-library/libs/basis-2002/top-level/top-level.sml,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -r1.13 -r1.14
--- top-level.sml 30 Jul 2004 19:07:57 -0000 1.13
+++ top-level.sml 5 Aug 2004 00:36:48 -0000 1.14
@@ -6,37 +6,6 @@
* Please see the file MLton-LICENSE for license information.
*)
-(* Non-standard signatures *)
-signature MLTON = MLTON
-signature MLTON_ARRAY = MLTON_ARRAY
-signature MLTON_BIN_IO = MLTON_BIN_IO
-signature MLTON_CONT = MLTON_CONT
-signature MLTON_EXN = MLTON_EXN
-signature MLTON_FINALIZABLE = MLTON_FINALIZABLE
-signature MLTON_GC = MLTON_GC
-signature MLTON_INT_INF = MLTON_INT_INF
-signature MLTON_IO = MLTON_IO
-signature MLTON_ITIMER = MLTON_ITIMER
-signature MLTON_PLATFORM = MLTON_PLATFORM
-signature MLTON_POINTER = MLTON_POINTER
-signature MLTON_PROC_ENV = MLTON_PROC_ENV
-signature MLTON_PROCESS = MLTON_PROCESS
-signature MLTON_PROFILE = MLTON_PROFILE
-signature MLTON_RANDOM = MLTON_RANDOM
-signature MLTON_RLIMIT = MLTON_RLIMIT
-signature MLTON_RUSAGE = MLTON_RUSAGE
-signature MLTON_SIGNAL = MLTON_SIGNAL
-signature MLTON_SOCKET = MLTON_SOCKET
-signature MLTON_SYSLOG = MLTON_SYSLOG
-signature MLTON_TEXT_IO = MLTON_TEXT_IO
-signature MLTON_THREAD = MLTON_THREAD
-signature MLTON_VECTOR = MLTON_VECTOR
-signature MLTON_WEAK = MLTON_WEAK
-signature MLTON_WORD = MLTON_WORD
-signature MLTON_WORLD = MLTON_WORLD
-signature SML_OF_NJ = SML_OF_NJ
-signature UNSAFE = UNSAFE
-
open Basis2002
(* Rebind some structures so that their definitions appear later, so that they
@@ -92,6 +61,3 @@
structure Word16 = Word16
structure Word32 = Word32
structure Word64 = Word64
-
-_basis_done MLtonFFI
-
1.1 mlton/basis-library/libs/basis-extra/basis-extra.mlb
Index: basis-extra.mlb
===================================================================
ann
deadCode true,
sequenceUnit true,
warnMatch true,
warnUnused true, forceUsed
in
local
../primitive.mlb
(*
#
# Common basis implementation.
#
*)
../../top-level/infixes.sml
../../misc/basic.sml
../../misc/dynamic-wind.sig
../../misc/dynamic-wind.sml
../../general/general.sig
../../general/general.sml
../../misc/util.sml
../../general/option.sig
../../general/option.sml
../../list/list.sig
../../list/list.sml
../../list/list-pair.sig
../../list/list-pair.sml
../../arrays-and-vectors/slice.sig
../../arrays-and-vectors/sequence.sig
../../arrays-and-vectors/sequence.fun
../../arrays-and-vectors/vector-slice.sig
../../arrays-and-vectors/vector.sig
../../arrays-and-vectors/vector.sml
../../arrays-and-vectors/array-slice.sig
../../arrays-and-vectors/array.sig
../../arrays-and-vectors/array.sml
../../arrays-and-vectors/array2.sig
../../arrays-and-vectors/array2.sml
../../arrays-and-vectors/mono-vector-slice.sig
../../arrays-and-vectors/mono-vector.sig
../../arrays-and-vectors/mono-vector.fun
../../arrays-and-vectors/mono-array-slice.sig
../../arrays-and-vectors/mono-array.sig
../../arrays-and-vectors/mono-array.fun
../../arrays-and-vectors/mono-array2.sig
../../arrays-and-vectors/mono-array2.fun
../../arrays-and-vectors/mono.sml
../../text/string0.sml
../../text/char0.sml
../../misc/reader.sig
../../misc/reader.sml
../../text/string-cvt.sig
../../text/string-cvt.sml
../../general/bool.sig
../../general/bool.sml
../../integer/integer.sig
../../integer/int.sml
../../text/char.sig
../../text/char.sml
../../text/substring.sig
../../text/substring.sml
../../text/string.sig
../../text/string.sml
../../misc/C.sig
../../misc/C.sml
../../integer/word.sig
../../integer/word.sml
../../integer/int-inf.sig
../../integer/int-inf.sml
../../real/IEEE-real.sig
../../real/IEEE-real.sml
../../real/math.sig
../../real/real.sig
../../real/real.fun
../../integer/pack-word.sig
../../integer/pack-word32.sml
../../text/byte.sig
../../text/byte.sml
../../text/text.sig
../../text/text.sml
../../real/pack-real.sig
../../real/pack-real.sml
../../real/real32.sml
../../real/real64.sml
../../integer/patch.sml
../../integer/embed-int.sml
../../integer/embed-word.sml
../../top-level/arithmetic.sml
(*
# misc/unique-id.sig
# misc/unique-id.fun
*)
../../misc/cleaner.sig
../../misc/cleaner.sml
../../system/pre-os.sml
../../system/time.sig
../../system/time.sml
../../system/date.sig
../../system/date.sml
../../io/io.sig
../../io/io.sml
../../io/prim-io.sig
../../io/prim-io.fun
../../io/bin-prim-io.sml
../../io/text-prim-io.sml
../../posix/error.sig
../../posix/error.sml
../../posix/flags.sig
../../posix/flags.sml
../../posix/signal.sig
../../posix/signal.sml
../../posix/proc-env.sig
../../posix/proc-env.sml
../../posix/file-sys.sig
../../posix/file-sys.sml
../../posix/io.sig
../../posix/io.sml
../../posix/process.sig
../../posix/process.sml
../../posix/sys-db.sig
../../posix/sys-db.sml
../../posix/tty.sig
../../posix/tty.sml
../../posix/posix.sig
../../posix/posix.sml
../../io/stream-io.sig
../../io/stream-io.fun
../../io/imperative-io.sig
../../io/imperative-io.fun
../../io/bin-stream-io.sig
../../io/bin-io.sig
../../io/bin-io.sml
../../io/text-stream-io.sig
../../io/text-io.sig
../../io/text-io.sml
../../system/path.sig
../../system/path.sml
../../system/file-sys.sig
../../system/file-sys.sml
../../system/command-line.sig
../../system/command-line.sml
../../general/sml90.sig
../../general/sml90.sml
../../mlton/process.sig
../../mlton/process.sml
../../mlton/exn.sig
../../mlton/exn.sml
../../mlton/thread.sig
../../mlton/thread.sml
../../mlton/signal.sig
../../mlton/signal.sml
../../mlton/rusage.sig
../../mlton/rusage.sml
../../system/process.sig
../../system/process.sml
../../system/io.sig
../../system/io.sml
../../system/os.sig
../../system/os.sml
../../system/unix.sig
../../system/unix.sml
../../system/timer.sig
../../system/timer.sml
../../net/net.sig
../../net/net.sml
../../net/net-host-db.sig
../../net/net-host-db.sml
../../net/net-prot-db.sig
../../net/net-prot-db.sml
../../net/net-serv-db.sig
../../net/net-serv-db.sml
../../net/socket.sig
../../net/socket.sml
../../net/generic-sock.sig
../../net/generic-sock.sml
../../net/inet-sock.sig
../../net/inet-sock.sml
../../net/unix-sock.sig
../../net/unix-sock.sml
../../mlton/array.sig
../../mlton/cont.sig
../../mlton/cont.sml
../../mlton/random.sig
../../mlton/random.sml
../../mlton/io.sig
../../mlton/io.fun
../../mlton/text-io.sig
../../mlton/bin-io.sig
../../mlton/itimer.sig
../../mlton/itimer.sml
../../mlton/ffi.sig
../../mlton/ffi.sml
../../mlton/gc.sig
../../mlton/gc.sml
../../mlton/int-inf.sig
../../mlton/platform.sig
../../mlton/platform.sml
../../mlton/pointer.sig
../../mlton/pointer.sml
../../mlton/proc-env.sig
../../mlton/proc-env.sml
../../mlton/profile.sig
../../mlton/profile.sml
(*
# mlton/ptrace.sig
# mlton/ptrace.sml
*)
../../mlton/rlimit.sig
../../mlton/rlimit.sml
../../mlton/socket.sig
../../mlton/socket.sml
../../mlton/syslog.sig
ann allowImport true in ../../mlton/syslog.sml end
../../mlton/vector.sig
../../mlton/weak.sig
../../mlton/weak.sml
../../mlton/finalizable.sig
../../mlton/finalizable.sml
../../mlton/word.sig
../../mlton/world.sig
../../mlton/world.sml
../../mlton/mlton.sig
../../mlton/mlton.sml
../../sml-nj/sml-nj.sig
../../sml-nj/sml-nj.sml
../../sml-nj/unsafe.sig
../../sml-nj/unsafe.sml
top-level/basis.sig
ann
allowRebindEquals true
in
top-level/basis.sml
end
in
structure BasisExtra
top-level/basis-sigs.sml
top-level/basis-funs.sml
top-level/top-level.sml
end
end
1.1 mlton/basis-library/libs/basis-extra/top-level/basis-funs.sml
Index: basis-funs.sml
===================================================================
(* Required functors *)
(* Optional functors *)
functor PrimIO (S: PRIM_IO_ARG): PRIM_IO = PrimIO (S)
functor StreamIO (S: STREAM_IO_ARG): STREAM_IO = StreamIO (S)
functor ImperativeIO (S: IMPERATIVE_IO_ARG): IMPERATIVE_IO = ImperativeIO (S)
1.1 mlton/basis-library/libs/basis-extra/top-level/basis-sigs.sml
Index: basis-sigs.sml
===================================================================
(* Required signatures *)
signature ARRAY = ARRAY
signature ARRAY_SLICE = ARRAY_SLICE
signature BIN_IO = BIN_IO
signature BOOL = BOOL
signature BYTE = BYTE
signature CHAR = CHAR
signature COMMAND_LINE = COMMAND_LINE
signature DATE = DATE
signature GENERAL = GENERAL
signature IEEE_REAL = IEEE_REAL
signature IMPERATIVE_IO = IMPERATIVE_IO
signature INTEGER = INTEGER
signature INT_INF = INT_INF
signature IO = IO
signature LIST = LIST
signature LIST_PAIR = LIST_PAIR
signature MATH = MATH
signature MONO_ARRAY = MONO_ARRAY
signature MONO_ARRAY_SLICE = MONO_ARRAY_SLICE
signature MONO_VECTOR = MONO_VECTOR
signature MONO_VECTOR_SLICE = MONO_VECTOR_SLICE
signature OPTION = OPTION
signature OS = OS
signature OS_FILE_SYS = OS_FILE_SYS
signature OS_IO = OS_IO
signature OS_PATH = OS_PATH
signature OS_PROCESS = OS_PROCESS
signature PRIM_IO = PRIM_IO
signature REAL = REAL
signature STREAM_IO = STREAM_IO
signature STRING = STRING
signature STRING_CVT = STRING_CVT
signature SUBSTRING = SUBSTRING
signature TEXT = TEXT
signature TEXT_IO = TEXT_IO
signature TEXT_STREAM_IO = TEXT_STREAM_IO
signature TIME = TIME
signature TIMER = TIMER
signature VECTOR = VECTOR
signature VECTOR_SLICE = VECTOR_SLICE
signature WORD = WORD
(* Optional signatures *)
signature ARRAY2 = ARRAY2
signature BIT_FLAGS = BIT_FLAGS
signature GENERIC_SOCK = GENERIC_SOCK
signature INET_SOCK = INET_SOCK
signature INT_INF = INT_INF
signature MONO_ARRAY2 = MONO_ARRAY2
signature NET_HOST_DB = NET_HOST_DB
signature NET_PROT_DB = NET_PROT_DB
signature NET_SERV_DB = NET_SERV_DB
signature PACK_REAL = PACK_REAL
signature PACK_WORD = PACK_WORD
signature POSIX = POSIX
signature POSIX_ERROR = POSIX_ERROR
signature POSIX_FILE_SYS = POSIX_FILE_SYS
signature POSIX_IO = POSIX_IO
signature POSIX_PROC_ENV = POSIX_PROC_ENV
signature POSIX_PROCESS = POSIX_PROCESS
signature POSIX_SIGNAL = POSIX_SIGNAL
signature POSIX_SYS_DB = POSIX_SYS_DB
signature POSIX_TTY = POSIX_TTY
signature SOCKET = SOCKET
signature UNIX = UNIX
signature UNIX_SOCK = UNIX_SOCK
(*
signature WINDOWS = WINDOWS
*)
(* Non-standard signatures *)
signature PRIM_IO_ARG = PRIM_IO_ARG
signature STREAM_IO_ARG = STREAM_IO_ARG
signature IMPERATIVE_IO_ARG = IMPERATIVE_IO_ARG
signature SML90 = SML90
signature MLTON = MLTON
signature MLTON_ARRAY = MLTON_ARRAY
signature MLTON_BIN_IO = MLTON_BIN_IO
signature MLTON_CONT = MLTON_CONT
signature MLTON_EXN = MLTON_EXN
signature MLTON_FINALIZABLE = MLTON_FINALIZABLE
signature MLTON_GC = MLTON_GC
signature MLTON_INT_INF = MLTON_INT_INF
signature MLTON_IO = MLTON_IO
signature MLTON_ITIMER = MLTON_ITIMER
signature MLTON_PLATFORM = MLTON_PLATFORM
signature MLTON_POINTER = MLTON_POINTER
signature MLTON_PROC_ENV = MLTON_PROC_ENV
signature MLTON_PROCESS = MLTON_PROCESS
signature MLTON_PROFILE = MLTON_PROFILE
signature MLTON_RANDOM = MLTON_RANDOM
signature MLTON_RLIMIT = MLTON_RLIMIT
signature MLTON_RUSAGE = MLTON_RUSAGE
signature MLTON_SIGNAL = MLTON_SIGNAL
signature MLTON_SOCKET = MLTON_SOCKET
signature MLTON_SYSLOG = MLTON_SYSLOG
signature MLTON_TEXT_IO = MLTON_TEXT_IO
signature MLTON_THREAD = MLTON_THREAD
signature MLTON_VECTOR = MLTON_VECTOR
signature MLTON_WEAK = MLTON_WEAK
signature MLTON_WORD = MLTON_WORD
signature MLTON_WORLD = MLTON_WORLD
signature SML_OF_NJ = SML_OF_NJ
signature UNSAFE = UNSAFE
1.1 mlton/basis-library/libs/basis-extra/top-level/basis.sig
Index: basis.sig
===================================================================
signature BASIS_EXTRA =
sig
(* Top-level types *)
eqtype 'a array
datatype bool = datatype bool
eqtype char
type exn
eqtype int
datatype 'a option = NONE | SOME of 'a
datatype order = LESS | EQUAL | GREATER
datatype list = datatype list
datatype ref = datatype ref
type real
eqtype string
type substring
eqtype unit
eqtype 'a vector
eqtype word
(* Top-level exceptions *)
exception Bind
exception Chr
exception Div
exception Domain
exception Empty
exception Fail of string
exception Match
exception Option
exception Overflow
exception Size
exception Span
exception Subscript
(* Top-level values *)
val = : ''a * ''a -> bool
val <> : ''a * ''a -> bool
val ! : 'a ref -> 'a
val := : 'a ref * 'a -> unit
val @ : ('a list * 'a list) -> 'a list
val ^ : string * string -> string
val app : ('a -> unit) -> 'a list -> unit
val before : 'a * unit -> 'a
val ceil : real -> int
val chr : int -> char
val concat : string list -> string
val exnMessage : exn -> string
val exnName : exn -> string
val explode : string -> char list
val floor : real -> int
val foldl : ('a * 'b -> 'b) -> 'b -> 'a list -> 'b
val foldr : ('a * 'b -> 'b) -> 'b -> 'a list -> 'b
val getOpt : ('a option * 'a) -> 'a
val hd : 'a list -> 'a
val ignore : 'a -> unit
val isSome : 'a option -> bool
val implode : char list -> string
val length : 'a list -> int
val map : ('a -> 'b) -> 'a list -> 'b list
val not : bool -> bool
val null : 'a list -> bool
val o : ('a -> 'b) * ('c -> 'a) -> 'c -> 'b
val ord : char -> int
val print : string -> unit
val real : int -> real
(*
val ref : 'a -> 'a ref
*)
val rev : 'a list -> 'a list
val round : real -> int
val size : string -> int
val str : char -> string
val substring : string * int * int -> string
val tl : 'a list -> 'a list
val trunc : real -> int
(*
val use : string -> unit
*)
val valOf : 'a option -> 'a
val vector : 'a list -> 'a vector
(* Required structures *)
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 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 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 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
(* Optional structures *)
structure Array2 : ARRAY2
structure BoolArray : MONO_ARRAY
structure BoolArray2 : MONO_ARRAY2
structure BoolArraySlice : MONO_ARRAY_SLICE
structure BoolVector : MONO_VECTOR
structure BoolVectorSlice : MONO_VECTOR_SLICE
structure CharArray2 : MONO_ARRAY2
structure FixedInt : INTEGER
structure GenericSock : GENERIC_SOCK
structure INetSock : INET_SOCK
structure Int2: INTEGER
structure Int3: INTEGER
structure Int4: INTEGER
structure Int5: INTEGER
structure Int6: INTEGER
structure Int7: INTEGER
structure Int8: INTEGER
structure Int9: INTEGER
structure Int10: INTEGER
structure Int11: INTEGER
structure Int12: INTEGER
structure Int13: INTEGER
structure Int14: INTEGER
structure Int15: INTEGER
structure Int16: INTEGER
structure Int17: INTEGER
structure Int18: INTEGER
structure Int19: INTEGER
structure Int20: INTEGER
structure Int21: INTEGER
structure Int22: INTEGER
structure Int23: INTEGER
structure Int24: INTEGER
structure Int25: INTEGER
structure Int26: INTEGER
structure Int27: INTEGER
structure Int28: INTEGER
structure Int29: INTEGER
structure Int30: INTEGER
structure Int31: INTEGER
structure Int32: INTEGER
structure Int64: INTEGER
structure Int8Array : MONO_ARRAY
structure Int8Array2 : MONO_ARRAY2
structure Int8ArraySlice : MONO_ARRAY_SLICE
structure Int8Vector : MONO_VECTOR
structure Int8VectorSlice : MONO_VECTOR_SLICE
structure Int16Array : MONO_ARRAY
structure Int16Array2 : MONO_ARRAY2
structure Int16ArraySlice : MONO_ARRAY_SLICE
structure Int16Vector : MONO_VECTOR
structure Int16VectorSlice : MONO_VECTOR_SLICE
structure Int32Array : MONO_ARRAY
structure Int32Array2 : MONO_ARRAY2
structure Int32ArraySlice : MONO_ARRAY_SLICE
structure Int32Vector : MONO_VECTOR
structure Int32VectorSlice : MONO_VECTOR_SLICE
structure Int64Array : MONO_ARRAY
structure Int64Array2 : MONO_ARRAY2
structure Int64ArraySlice : MONO_ARRAY_SLICE
structure Int64Vector : MONO_VECTOR
structure Int64VectorSlice : MONO_VECTOR_SLICE
structure IntArray : MONO_ARRAY
structure IntArray2 : MONO_ARRAY2
structure IntArraySlice : MONO_ARRAY_SLICE
structure IntVector : MONO_VECTOR
structure IntVectorSlice : MONO_VECTOR_SLICE
structure IntInf : INT_INF
structure LargeIntArray : MONO_ARRAY
structure LargeIntArray2 : MONO_ARRAY2
structure LargeIntArraySlice : MONO_ARRAY_SLICE
structure LargeIntVector : MONO_VECTOR
structure LargeIntVectorSlice : MONO_VECTOR_SLICE
structure LargeRealArray : MONO_ARRAY
structure LargeRealArray2 : MONO_ARRAY2
structure LargeRealArraySlice : MONO_ARRAY_SLICE
structure LargeRealVector : MONO_VECTOR
structure LargeRealVectorSlice : MONO_VECTOR_SLICE
structure LargeWordArray : MONO_ARRAY
structure LargeWordArray2 : MONO_ARRAY2
structure LargeWordArraySlice : MONO_ARRAY_SLICE
structure LargeWordVector : MONO_VECTOR
structure LargeWordVectorSlice : MONO_VECTOR_SLICE
structure NetHostDB : NET_HOST_DB
structure NetProtDB : NET_PROT_DB
structure NetServDB : NET_SERV_DB
structure PackReal32Big : PACK_REAL
structure PackReal32Little : PACK_REAL
structure PackReal64Big : PACK_REAL
structure PackReal64Little : PACK_REAL
structure PackRealBig : PACK_REAL
structure PackRealLittle : PACK_REAL
structure PackWord32Big : PACK_WORD
structure PackWord32Little : PACK_WORD
structure Posix : POSIX
structure Real32 : REAL
structure Real32Array : MONO_ARRAY
structure Real32Array2 : MONO_ARRAY2
structure Real32ArraySlice : MONO_ARRAY_SLICE
structure Real32Vector : MONO_VECTOR
structure Real32VectorSlice : MONO_VECTOR_SLICE
structure Real64 : REAL
structure Real64Array : MONO_ARRAY
structure Real64Array2 : MONO_ARRAY2
structure Real64ArraySlice : MONO_ARRAY_SLICE
structure Real64Vector : MONO_VECTOR
structure Real64VectorSlice : MONO_VECTOR_SLICE
structure RealArray : MONO_ARRAY
structure RealArray2 : MONO_ARRAY2
structure RealArraySlice : MONO_ARRAY_SLICE
structure RealVector : MONO_VECTOR
structure RealVectorSlice : MONO_VECTOR_SLICE
structure Socket : SOCKET
structure SysWord : WORD
structure Unix : UNIX
structure UnixSock : UNIX_SOCK
(*
structure WideChar : CHAR
structure WideCharArray : MONO_ARRAY
structure WideCharArray2 : MONO_ARRAY2
structure WideCharArraySlice : MONO_ARRAY_SLICE
structure WideCharVector : MONO_VECTOR
structure WideCharVectorSlice : MONO_VECTOR_SLICE
structure WideString : STRING
structure WideSubstring : SUBSTRING
structure WideText : TEXT
structure WideTextPrimIO : PRIM_IO
*)
(*
structure Windows : WINDOWS
*)
structure Word2: WORD
structure Word3: WORD
structure Word4: WORD
structure Word5: WORD
structure Word6: WORD
structure Word7: WORD
structure Word8: WORD
structure Word9: WORD
structure Word10: WORD
structure Word11: WORD
structure Word12: WORD
structure Word13: WORD
structure Word14: WORD
structure Word15: WORD
structure Word16: WORD
structure Word17: WORD
structure Word18: WORD
structure Word19: WORD
structure Word20: WORD
structure Word21: WORD
structure Word22: WORD
structure Word23: WORD
structure Word24: WORD
structure Word25: WORD
structure Word26: WORD
structure Word27: WORD
structure Word28: WORD
structure Word29: WORD
structure Word30: WORD
structure Word31: WORD
structure Word32: WORD
structure Word64: WORD
structure WordArray : MONO_ARRAY
structure WordArray2 : MONO_ARRAY2
structure WordArraySlice : MONO_ARRAY_SLICE
structure WordVector : MONO_VECTOR
structure WordVectorSlice : MONO_VECTOR_SLICE
structure Word16Array : MONO_ARRAY
structure Word16Array2 : MONO_ARRAY2
structure Word16ArraySlice : MONO_ARRAY_SLICE
structure Word16Vector : MONO_VECTOR
structure Word16VectorSlice : MONO_VECTOR_SLICE
structure Word32Array : MONO_ARRAY
structure Word32Array2 : MONO_ARRAY2
structure Word32ArraySlice : MONO_ARRAY_SLICE
structure Word32Vector : MONO_VECTOR
structure Word32VectorSlice : MONO_VECTOR_SLICE
structure Word64Array : MONO_ARRAY
structure Word64Array2 : MONO_ARRAY2
structure Word64ArraySlice : MONO_ARRAY_SLICE
structure Word64Vector : MONO_VECTOR
structure Word64VectorSlice : MONO_VECTOR_SLICE
(* Non-standard structures *)
structure SML90: SML90
structure MLton: MLTON
structure SMLofNJ: SML_OF_NJ
structure Unsafe: UNSAFE
sharing type MLton.IntInf.t = IntInf.int
sharing type MLton.Process.pid = Posix.Process.pid
sharing type MLton.Signal.t = Posix.Signal.signal
sharing type MLton.Word.t = Word.word
sharing type MLton.Word8.t = Word8.word
sharing Unsafe.CharArray = CharArray
sharing Unsafe.CharVector = CharVector
sharing Unsafe.Real64Array = Real64Array
sharing Unsafe.Word8Array = Word8Array
sharing Unsafe.Word8Vector = Word8Vector
(* ************************************************** *)
(* ************************************************** *)
(* Sharing constraints *)
(* Top-level types *)
sharing type unit = General.unit
sharing type int = Int.int
sharing type word = Word.word
sharing type real = Real.real
sharing type char = Char.char
sharing type string = String.string
sharing type substring = Substring.substring
sharing type exn = General.exn
(* Can't use sharing on type array or vector, because they are rigid tycons.
* Don't need it anyways, since it's built into the ARRAY and VECTOR signatures.
*)
(*
sharing type array = Array.array
sharing type vector = Vector.vector
*)
(*
sharing type ref = General.ref
*)
(*
sharing type bool = Bool.bool
*)
sharing type option = Option.option
sharing type order = General.order
(*
sharing type list = List.list
*)
sharing type int = Int32.int
sharing type real = Real64.real
sharing type word = Word32.word
(* Required structures *)
(*
sharing type BinIO.StreamIO.elem = Word8.word
*)
sharing type BinIO.StreamIO.reader = BinPrimIO.reader
sharing type BinIO.StreamIO.pos = BinPrimIO.pos
(*
sharing type BinIO.StreamIO.vector = Word8Vector.vector
*)
sharing type BinIO.StreamIO.writer = BinPrimIO.writer
sharing type BinPrimIO.array = Word8Array.array
sharing type BinPrimIO.array_slice = Word8ArraySlice.slice
sharing type BinPrimIO.elem = Word8.word
sharing type BinPrimIO.pos = Position.int
sharing type BinPrimIO.vector = Word8Vector.vector
sharing type BinPrimIO.vector_slice = Word8VectorSlice.slice
sharing type Char.char = char
sharing type Char.string = String.string
sharing type CharArray.elem = char
sharing type CharArray.vector = CharVector.vector
sharing type CharArraySlice.elem = char
sharing type CharArraySlice.array = CharArray.array
sharing type CharArraySlice.vector = CharVector.vector
sharing type CharArraySlice.vector_slice = CharVectorSlice.slice
sharing type CharVector.elem = char
sharing type CharVector.vector = String.string
sharing type CharVectorSlice.elem = char
sharing type CharVectorSlice.vector = String.string
sharing type CharVectorSlice.slice = Substring.substring
sharing type Int.int = int
sharing type Math.real = Real.real
sharing type Real.real = real
sharing type String.string = string
sharing type String.string = CharVector.vector
sharing type String.char = Char.char
sharing type Substring.substring = CharVectorSlice.slice
sharing type Substring.string = String.string
sharing type Substring.char = Char.char
sharing type Text.Char.char = Char.char
sharing type Text.String.string = String.string
sharing type Text.Substring.substring = Substring.substring
sharing type Text.CharVector.vector = CharVector.vector
sharing type Text.CharArray.array = CharArray.array
sharing type Text.CharArraySlice.slice = CharArraySlice.slice
sharing type Text.CharVectorSlice.slice = CharVectorSlice.slice
(* redundant *)
(*
sharing type TextIO.elem = char
sharing type TextIO.vector = string
*)
sharing type TextPrimIO.array = CharArray.array
sharing type TextPrimIO.array_slice = CharArraySlice.slice
sharing type TextPrimIO.elem = Char.char
sharing type TextPrimIO.pos = Position.int
sharing type TextPrimIO.vector = CharVector.vector
sharing type TextPrimIO.vector_slice = CharVectorSlice.slice
sharing type Word8Array.elem = Word8.word
sharing type Word8Array.vector = Word8Vector.vector
sharing type Word8ArraySlice.elem = Word8.word
sharing type Word8ArraySlice.array = Word8Array.array
sharing type Word8ArraySlice.vector = Word8Vector.vector
sharing type Word8ArraySlice.vector_slice = Word8VectorSlice.slice
sharing type Word8Vector.elem = Word8.word
sharing type Word8VectorSlice.elem = Word8.word
sharing type Word8VectorSlice.vector = Word8Vector.vector
sharing type Word8Array2.elem = Word8.word
sharing type Word8Array2.vector = Word8Vector.vector
(* Optional structures *)
sharing type BoolArray.vector = BoolVector.vector
sharing type BoolArraySlice.array = BoolArray.array
sharing type BoolArraySlice.vector = BoolVector.vector
sharing type BoolArraySlice.vector_slice = BoolVectorSlice.slice
sharing type BoolVectorSlice.vector = BoolVector.vector
sharing type BoolArray2.vector = BoolVector.vector
sharing type CharArray2.elem = char
sharing type CharArray2.vector = CharVector.vector
sharing type IntArray.elem = int
sharing type IntArray.vector = IntVector.vector
sharing type IntArraySlice.elem = int
sharing type IntArraySlice.array = IntArray.array
sharing type IntArraySlice.vector = IntVector.vector
sharing type IntArraySlice.vector_slice = IntVectorSlice.slice
sharing type IntVector.elem = int
sharing type IntVectorSlice.elem = int
sharing type IntVectorSlice.vector = IntVector.vector
sharing type IntArray2.elem = int
sharing type IntArray2.vector = IntVector.vector
sharing type Int8Array.elem = Int8.int
sharing type Int8Array.vector = Int8Vector.vector
sharing type Int8ArraySlice.elem = Int8.int
sharing type Int8ArraySlice.array = Int8Array.array
sharing type Int8ArraySlice.vector = Int8Vector.vector
sharing type Int8ArraySlice.vector_slice = Int8VectorSlice.slice
sharing type Int8Vector.elem = Int8.int
sharing type Int8VectorSlice.elem = Int8.int
sharing type Int8VectorSlice.vector = Int8Vector.vector
sharing type Int8Array2.elem = Int8.int
sharing type Int8Array2.vector = Int8Vector.vector
sharing type Int16Array.elem = Int16.int
sharing type Int16Array.vector = Int16Vector.vector
sharing type Int16ArraySlice.elem = Int16.int
sharing type Int16ArraySlice.array = Int16Array.array
sharing type Int16ArraySlice.vector = Int16Vector.vector
sharing type Int16ArraySlice.vector_slice = Int16VectorSlice.slice
sharing type Int16Vector.elem = Int16.int
sharing type Int16VectorSlice.elem = Int16.int
sharing type Int16VectorSlice.vector = Int16Vector.vector
sharing type Int16Array2.elem = Int16.int
sharing type Int16Array2.vector = Int16Vector.vector
sharing type Int32.int = Int.int
sharing type Int32Array.elem = Int32.int
sharing type Int32Array.vector = Int32Vector.vector
sharing type Int32ArraySlice.elem = Int32.int
sharing type Int32ArraySlice.array = Int32Array.array
sharing type Int32ArraySlice.vector = Int32Vector.vector
sharing type Int32ArraySlice.vector_slice = Int32VectorSlice.slice
sharing type Int32Vector.elem = Int32.int
sharing type Int32VectorSlice.elem = Int32.int
sharing type Int32VectorSlice.vector = Int32Vector.vector
sharing type Int32Array2.elem = Int32.int
sharing type Int32Array2.vector = Int32Vector.vector
sharing type Int64Array.elem = Int64.int
sharing type Int64Array.vector = Int64Vector.vector
sharing type Int64ArraySlice.elem = Int64.int
sharing type Int64ArraySlice.array = Int64Array.array
sharing type Int64ArraySlice.vector = Int64Vector.vector
sharing type Int64ArraySlice.vector_slice = Int64VectorSlice.slice
sharing type Int64Vector.elem = Int64.int
sharing type Int64VectorSlice.elem = Int64.int
sharing type Int64VectorSlice.vector = Int64Vector.vector
sharing type Int64Array2.elem = Int64.int
sharing type Int64Array2.vector = Int64Vector.vector
sharing type LargeIntArray.elem = LargeInt.int
sharing type LargeIntArray.vector = LargeIntVector.vector
sharing type LargeIntArraySlice.elem = LargeInt.int
sharing type LargeIntArraySlice.array = LargeIntArray.array
sharing type LargeIntArraySlice.vector = LargeIntVector.vector
sharing type LargeIntArraySlice.vector_slice = LargeIntVectorSlice.slice
sharing type LargeIntVector.elem = LargeInt.int
sharing type LargeIntVectorSlice.elem = LargeInt.int
sharing type LargeIntVectorSlice.vector = LargeIntVector.vector
sharing type LargeIntArray2.elem = LargeInt.int
sharing type LargeIntArray2.vector = LargeIntVector.vector
sharing type LargeRealArray.elem = LargeReal.real
sharing type LargeRealArray.vector = LargeRealVector.vector
sharing type LargeRealArraySlice.elem = LargeReal.real
sharing type LargeRealArraySlice.array = LargeRealArray.array
sharing type LargeRealArraySlice.vector = LargeRealVector.vector
sharing type LargeRealArraySlice.vector_slice = LargeRealVectorSlice.slice
sharing type LargeRealVector.elem = LargeReal.real
sharing type LargeRealVectorSlice.elem = LargeReal.real
sharing type LargeRealVectorSlice.vector = LargeRealVector.vector
sharing type LargeRealArray2.elem = LargeReal.real
sharing type LargeRealArray2.vector = LargeRealVector.vector
sharing type LargeWordArray.elem = LargeWord.word
sharing type LargeWordArray.vector = LargeWordVector.vector
sharing type LargeWordArraySlice.elem = LargeWord.word
sharing type LargeWordArraySlice.array = LargeWordArray.array
sharing type LargeWordArraySlice.vector = LargeWordVector.vector
sharing type LargeWordArraySlice.vector_slice = LargeWordVectorSlice.slice
sharing type LargeWordVector.elem = LargeWord.word
sharing type LargeWordVectorSlice.elem = LargeWord.word
sharing type LargeWordVectorSlice.vector = LargeWordVector.vector
sharing type LargeWordArray2.elem = LargeWord.word
sharing type LargeWordArray2.vector = LargeWordVector.vector
sharing type PackRealBig.real = real
sharing type PackRealLittle.real = real
sharing type PackReal32Big.real = Real32.real
sharing type PackReal32Little.real = Real32.real
sharing type PackReal64Big.real = Real64.real
sharing type PackReal64Little.real = Real64.real
sharing type Posix.Error.syserror = OS.syserror
sharing type Posix.IO.file_desc = Posix.ProcEnv.file_desc
sharing type Posix.FileSys.dirstream = OS.FileSys.dirstream
sharing type Posix.FileSys.access_mode = OS.FileSys.access_mode
sharing type Posix.Process.exit_status = Unix.exit_status
sharing type Posix.Signal.signal = Unix.signal
sharing type RealArray.elem = real
sharing type RealArray.vector = RealVector.vector
sharing type RealArraySlice.elem = real
sharing type RealArraySlice.array = RealArray.array
sharing type RealArraySlice.vector = RealVector.vector
sharing type RealArraySlice.vector_slice = RealVectorSlice.slice
sharing type RealVector.elem = real
sharing type RealVectorSlice.elem = real
sharing type RealVectorSlice.vector = RealVector.vector
sharing type RealArray2.elem = real
sharing type RealArray2.vector = RealVector.vector
sharing type Real32Array.elem = Real32.real
sharing type Real32Array.vector = Real32Vector.vector
sharing type Real32ArraySlice.elem = Real32.real
sharing type Real32ArraySlice.array = Real32Array.array
sharing type Real32ArraySlice.vector = Real32Vector.vector
sharing type Real32ArraySlice.vector_slice = Real32VectorSlice.slice
sharing type Real32Vector.elem = Real32.real
sharing type Real32VectorSlice.elem = Real32.real
sharing type Real32VectorSlice.vector = Real32Vector.vector
sharing type Real32Array2.elem = Real32.real
sharing type Real32Array2.vector = Real32Vector.vector
sharing type Real64Array.elem = Real64.real
sharing type Real64Array.vector = Real64Vector.vector
sharing type Real64ArraySlice.elem = Real64.real
sharing type Real64ArraySlice.array = Real64Array.array
sharing type Real64ArraySlice.vector = Real64Vector.vector
sharing type Real64ArraySlice.vector_slice = Real64VectorSlice.slice
sharing type Real64Vector.elem = Real64.real
sharing type Real64VectorSlice.elem = Real64.real
sharing type Real64VectorSlice.vector = Real64Vector.vector
sharing type Real64Array2.elem = Real64.real
sharing type Real64Array2.vector = Real64Vector.vector
sharing type Unix.exit_status = Posix.Process.exit_status
sharing type WordArray.elem = word
sharing type WordArray.vector = WordVector.vector
sharing type WordArraySlice.elem = word
sharing type WordArraySlice.array = WordArray.array
sharing type WordArraySlice.vector = WordVector.vector
sharing type WordArraySlice.vector_slice = WordVectorSlice.slice
sharing type WordVector.elem = word
sharing type WordVectorSlice.elem = word
sharing type WordVectorSlice.vector = WordVector.vector
sharing type WordArray2.elem = word
sharing type WordArray2.vector = WordVector.vector
sharing type Word16Array.elem = Word16.word
sharing type Word16Array.vector = Word16Vector.vector
sharing type Word16ArraySlice.elem = Word16.word
sharing type Word16ArraySlice.array = Word16Array.array
sharing type Word16ArraySlice.vector = Word16Vector.vector
sharing type Word16ArraySlice.vector_slice = Word16VectorSlice.slice
sharing type Word16Vector.elem = Word16.word
sharing type Word16VectorSlice.elem = Word16.word
sharing type Word16VectorSlice.vector = Word16Vector.vector
sharing type Word16Array2.elem = Word16.word
sharing type Word16Array2.vector = Word16Vector.vector
sharing type Word32.word = Word.word
sharing type Word32Array.elem = Word32.word
sharing type Word32Array.vector = Word32Vector.vector
sharing type Word32ArraySlice.elem = Word32.word
sharing type Word32ArraySlice.array = Word32Array.array
sharing type Word32ArraySlice.vector = Word32Vector.vector
sharing type Word32ArraySlice.vector_slice = Word32VectorSlice.slice
sharing type Word32Vector.elem = Word32.word
sharing type Word32VectorSlice.elem = Word32.word
sharing type Word32VectorSlice.vector = Word32Vector.vector
sharing type Word32Array2.elem = Word32.word
sharing type Word32Array2.vector = Word32Vector.vector
sharing type Word64Array.elem = Word64.word
sharing type Word64Array.vector = Word64Vector.vector
sharing type Word64ArraySlice.elem = Word64.word
sharing type Word64ArraySlice.array = Word64Array.array
sharing type Word64ArraySlice.vector = Word64Vector.vector
sharing type Word64ArraySlice.vector_slice = Word64VectorSlice.slice
sharing type Word64Vector.elem = Word64.word
sharing type Word64VectorSlice.elem = Word64.word
sharing type Word64VectorSlice.vector = Word64Vector.vector
sharing type Word64Array2.elem = Word64.word
sharing type Word64Array2.vector = Word64Vector.vector
end
(* bool is already defined as bool and so cannot be shared.
* So, we where these to get the needed sharing.
*)
where type BoolArray.elem = bool
where type BoolArray2.elem = bool
where type BoolArraySlice.elem = bool
where type BoolVector.elem = bool
where type BoolVectorSlice.elem = bool
(* Top-level types. These appear free in basis signatures and hence must be
* the same in the basis as at the top level.
*)
where type 'a array = 'a array
where type 'a option = 'a option
where type 'a vector = 'a vector
where type char = char
where type exn = exn
where type order = order
where type real = real
where type string = string
where type substring = substring
where type unit = unit
(* Types referenced in signatures by structure name *)
(*
where type 'a Array.array = 'a Array.array
*)
where type Array2.traversal = Array2.traversal
where type 'a ArraySlice.slice = 'a ArraySlice.slice
where type BinIO.instream = BinIO.instream
where type BinIO.outstream = BinIO.outstream
where type BinPrimIO.reader = BinPrimIO.reader
where type BinPrimIO.writer = BinPrimIO.writer
where type FixedInt.int = FixedInt.int
where type IO.buffer_mode = IO.buffer_mode
where type LargeInt.int = LargeInt.int
where type LargeReal.real = LargeReal.real
where type LargeWord.word = LargeWord.word
where type IEEEReal.real_order = IEEEReal.real_order
where type IEEEReal.float_class = IEEEReal.float_class
where type IEEEReal.rounding_mode = IEEEReal.rounding_mode
where type NetHostDB.in_addr = NetHostDB.in_addr
where type NetHostDB.addr_family = NetHostDB.addr_family
where type OS.IO.iodesc = OS.IO.iodesc
where type OS.Process.status = OS.Process.status (* UNIX *)
where type Position.int = Position.int
where type Posix.IO.file_desc = Posix.IO.file_desc
where type Posix.Signal.signal = Posix.Signal.signal
where type Socket.dgram = Socket.dgram
where type ('a, 'b) Socket.sock = ('a, 'b) Socket.sock
where type 'a Socket.sock_addr = 'a Socket.sock_addr
where type Socket.SOCK.sock_type = Socket.SOCK.sock_type (* GENERIC_SOCK *)
where type 'a Socket.stream = 'a Socket.stream
where type StringCvt.radix = StringCvt.radix
where type StringCvt.realfmt = StringCvt.realfmt
(*
where type ('a, 'b) StringCvt.reader = ('a, 'b) StringCvt.reader
*)
where type SysWord.word = SysWord.word
where type TextIO.instream = TextIO.instream
where type TextIO.outstream = TextIO.outstream
where type TextPrimIO.reader = TextPrimIO.reader
where type TextPrimIO.writer = TextPrimIO.writer
where type Time.time = Time.time
(*
where type 'a Vector.vector = 'a Vector.vector
*)
where type 'a VectorSlice.slice = 'a VectorSlice.slice
where type Word8Array.array = Word8Array.array
where type Word8ArraySlice.slice = Word8ArraySlice.slice
where type Word8ArraySlice.vector_slice = Word8ArraySlice.vector_slice
where type Word8Vector.vector = Word8Vector.vector
(* Types that must be exposed because constants denote them. *)
where type Int2.int = Int2.int
where type Int3.int = Int3.int
where type Int4.int = Int4.int
where type Int5.int = Int5.int
where type Int6.int = Int6.int
where type Int7.int = Int7.int
where type Int8.int = Int8.int
where type Int9.int = Int9.int
where type Int10.int = Int10.int
where type Int11.int = Int11.int
where type Int12.int = Int12.int
where type Int13.int = Int13.int
where type Int14.int = Int14.int
where type Int15.int = Int15.int
where type Int16.int = Int16.int
where type Int17.int = Int17.int
where type Int18.int = Int18.int
where type Int19.int = Int19.int
where type Int20.int = Int20.int
where type Int21.int = Int21.int
where type Int22.int = Int22.int
where type Int23.int = Int23.int
where type Int24.int = Int24.int
where type Int25.int = Int25.int
where type Int26.int = Int26.int
where type Int27.int = Int27.int
where type Int28.int = Int28.int
where type Int29.int = Int29.int
where type Int30.int = Int30.int
where type Int31.int = Int31.int
where type Int32.int = Int32.int
where type Int64.int = Int64.int
where type IntInf.int = IntInf.int
where type Real32.real = Real32.real
where type Word2.word = Word2.word
where type Word3.word = Word3.word
where type Word4.word = Word4.word
where type Word5.word = Word5.word
where type Word6.word = Word6.word
where type Word7.word = Word7.word
where type Word8.word = Word8.word
where type Word9.word = Word9.word
where type Word10.word = Word10.word
where type Word11.word = Word11.word
where type Word12.word = Word12.word
where type Word13.word = Word13.word
where type Word14.word = Word14.word
where type Word15.word = Word15.word
where type Word16.word = Word16.word
where type Word17.word = Word17.word
where type Word18.word = Word18.word
where type Word19.word = Word19.word
where type Word20.word = Word20.word
where type Word21.word = Word21.word
where type Word22.word = Word22.word
where type Word23.word = Word23.word
where type Word24.word = Word24.word
where type Word25.word = Word25.word
where type Word26.word = Word26.word
where type Word27.word = Word27.word
where type Word28.word = Word28.word
where type Word29.word = Word29.word
where type Word30.word = Word30.word
where type Word31.word = Word31.word
where type Word32.word = Word32.word
where type Word64.word = Word64.word
where type 'a MLton.Thread.t = 'a MLton.Thread.t
1.1 mlton/basis-library/libs/basis-extra/top-level/basis.sml
Index: basis.sml
===================================================================
structure BasisExtra :> BASIS_EXTRA =
struct
(* Required structures *)
structure Array = Array
structure ArraySlice = ArraySlice
structure BinIO = BinIO
structure BinPrimIO = BinPrimIO
structure Bool = Bool
structure Byte = Byte
structure Char = Char
structure CharArray = CharArray
structure CharArraySlice = CharArraySlice
structure CharVector = CharVector
structure CharVectorSlice = CharVectorSlice
structure CommandLine = CommandLine
structure Date = Date
structure General = General
structure IEEEReal = IEEEReal
structure IO = IO
structure Int = Int
structure LargeInt = LargeInt
structure LargeReal = LargeReal
structure LargeWord = LargeWord
structure List = List
structure ListPair = ListPair
structure OS = OS
structure Option = Option
structure Position = Position
structure Real = Real
structure String = String
structure StringCvt = StringCvt
structure Substring = Substring
structure Text = Text
structure TextIO = TextIO
structure TextPrimIO = TextPrimIO
structure Time = Time
structure Timer = Timer
structure Vector = Vector
structure VectorSlice = VectorSlice
structure Word = Word
structure Word8 = Word8
structure Word8Array = Word8Array
structure Word8Array2 = Word8Array2
structure Word8ArraySlice = Word8ArraySlice
structure Word8Vector = Word8Vector
structure Word8VectorSlice = Word8VectorSlice
(* Optional structures *)
structure Array2 = Array2
structure BoolArray = BoolArray
structure BoolArray2 = BoolArray2
structure BoolArraySlice = BoolArraySlice
structure BoolVector = BoolVector
structure BoolVectorSlice = BoolVectorSlice
structure CharArray2 = CharArray2
structure FixedInt = FixedInt
structure GenericSock = GenericSock
structure INetSock = INetSock
structure Int16 = Int16
structure Int16Array = Int16Array
structure Int16Array2 = Int16Array2
structure Int16ArraySlice = Int16ArraySlice
structure Int16Vector = Int16Vector
structure Int16VectorSlice = Int16VectorSlice
structure Int2 = Int2
structure Int3 = Int3
structure Int4 = Int4
structure Int5 = Int5
structure Int6 = Int6
structure Int7 = Int7
structure Int8 = Int8
structure Int9 = Int9
structure Int10 = Int10
structure Int11 = Int11
structure Int12 = Int12
structure Int13 = Int13
structure Int14 = Int14
structure Int15 = Int15
structure Int16 = Int16
structure Int17 = Int17
structure Int18 = Int18
structure Int19 = Int19
structure Int20 = Int20
structure Int21 = Int21
structure Int22 = Int22
structure Int23 = Int23
structure Int24 = Int24
structure Int25 = Int25
structure Int26 = Int26
structure Int27 = Int27
structure Int28 = Int28
structure Int29 = Int29
structure Int30 = Int30
structure Int31 = Int31
structure Int32 = Int32
structure Int32Array = Int32Array
structure Int32Array2 = Int32Array2
structure Int32ArraySlice = Int32ArraySlice
structure Int32Vector = Int32Vector
structure Int32VectorSlice = Int32VectorSlice
structure Int64 = Int64
structure Int64Array = Int64Array
structure Int64Array2 = Int64Array2
structure Int64ArraySlice = Int64ArraySlice
structure Int64Vector = Int64Vector
structure Int64VectorSlice = Int64VectorSlice
structure Int8 = Int8
structure Int8Array = Int8Array
structure Int8Array2 = Int8Array2
structure Int8ArraySlice = Int8ArraySlice
structure Int8Vector = Int8Vector
structure Int8VectorSlice = Int8VectorSlice
structure IntArray = IntArray
structure IntArray2 = IntArray2
structure IntArraySlice = IntArraySlice
structure IntInf = IntInf
structure IntVector = IntVector
structure IntVectorSlice = IntVectorSlice
structure LargeIntArray = LargeIntArray
structure LargeIntArray2 = LargeIntArray2
structure LargeIntArraySlice = LargeIntArraySlice
structure LargeIntVector = LargeIntVector
structure LargeIntVectorSlice = LargeIntVectorSlice
structure LargeRealArray = LargeRealArray
structure LargeRealArray2 = LargeRealArray2
structure LargeRealArraySlice = LargeRealArraySlice
structure LargeRealVector = LargeRealVector
structure LargeRealVectorSlice = LargeRealVectorSlice
structure LargeWordArray = LargeWordArray
structure LargeWordArray2 = LargeWordArray2
structure LargeWordArraySlice = LargeWordArraySlice
structure LargeWordVector = LargeWordVector
structure LargeWordVectorSlice = LargeWordVectorSlice
structure NetHostDB = NetHostDB
structure NetProtDB = NetProtDB
structure NetServDB = NetServDB
structure PackReal32Big = PackReal32Big
structure PackReal32Little = PackReal32Little
structure PackReal64Big = PackReal64Big
structure PackReal64Little = PackReal64Little
structure PackRealBig = PackRealBig
structure PackRealLittle = PackRealLittle
structure PackWord32Big = PackWord32Big
structure PackWord32Little = PackWord32Little
structure Posix = Posix
structure Real32 = Real32
structure Real32Array = Real32Array
structure Real32Array2 = Real32Array2
structure Real32ArraySlice = Real32ArraySlice
structure Real32Vector = Real32Vector
structure Real32VectorSlice = Real32VectorSlice
structure Real64 = Real64
structure Real64Array = Real64Array
structure Real64Array2 = Real64Array2
structure Real64ArraySlice = Real64ArraySlice
structure Real64Vector = Real64Vector
structure Real64VectorSlice = Real64VectorSlice
structure RealArray = RealArray
structure RealArray2 = RealArray2
structure RealArraySlice = RealArraySlice
structure RealVector = RealVector
structure RealVectorSlice = RealVectorSlice
structure Socket = Socket
structure SysWord = SysWord
structure Unix = Unix
structure UnixSock = UnixSock
(*
structure WideChar = WideChar
structure WideCharArray = WideCharArray
structure WideCharArray2 = WideCharArray2
structure WideCharArraySlice = WideCharArraySlice
structure WideCharVector = WideCharVector
structure WideCharVectorSlice = WideCharVectorSlice
structure WideString = WideString
structure WideSubstring = WideSubstring
structure WideText = WideText
structure WideTextPrimIO = WideTextPrimIO
*)
(*
structure Windows = Windows
*)
structure Word2 = Word2
structure Word3 = Word3
structure Word4 = Word4
structure Word5 = Word5
structure Word6 = Word6
structure Word7 = Word7
structure Word8 = Word8
structure Word9 = Word9
structure Word10 = Word10
structure Word11 = Word11
structure Word12 = Word12
structure Word13 = Word13
structure Word14 = Word14
structure Word15 = Word15
structure Word16 = Word16
structure Word17 = Word17
structure Word18 = Word18
structure Word19 = Word19
structure Word20 = Word20
structure Word21 = Word21
structure Word22 = Word22
structure Word23 = Word23
structure Word24 = Word24
structure Word25 = Word25
structure Word26 = Word26
structure Word27 = Word27
structure Word28 = Word28
structure Word29 = Word29
structure Word30 = Word30
structure Word31 = Word31
structure Word32 = Word32
structure Word64 = Word64
structure WordArray = WordArray
structure WordArray2 = WordArray2
structure WordArraySlice = WordArraySlice
structure WordVector = WordVector
structure WordVectorSlice = WordVectorSlice
structure Word16 = Word16
structure Word16Array = Word16Array
structure Word16Array2 = Word16Array2
structure Word16ArraySlice = Word16ArraySlice
structure Word16Vector = Word16Vector
structure Word16VectorSlice = Word16VectorSlice
structure Word32Array = Word32Array
structure Word32Array2 = Word32Array2
structure Word32ArraySlice = Word32ArraySlice
structure Word32Vector = Word32Vector
structure Word32VectorSlice = Word32VectorSlice
structure Word64Array = Word64Array
structure Word64Array2 = Word64Array2
structure Word64ArraySlice = Word64ArraySlice
structure Word64Vector = Word64Vector
structure Word64VectorSlice = Word64VectorSlice
(* Non-standard structures *)
structure SML90 = SML90
structure MLton = MLton
structure SMLofNJ = SMLofNJ
structure Unsafe = Unsafe
open ArrayGlobal
BoolGlobal
CharGlobal
IntGlobal
GeneralGlobal
ListGlobal
OptionGlobal
RealGlobal
StringGlobal
RealGlobal
SubstringGlobal
TextIOGlobal
VectorGlobal
WordGlobal
val real = real
val op = = op =
val op <> = op <>
val vector = vector
datatype ref = datatype ref
end
1.1 mlton/basis-library/libs/basis-extra/top-level/top-level.sml
Index: top-level.sml
===================================================================
local
open BasisExtra
in
structure SML90 = SML90
structure MLton = MLton
structure SMLofNJ = SMLofNJ
structure Unsafe = Unsafe
end
_basis_done MLtonFFI
1.4 +8 -17 mlton/basis-library/libs/basis-none/top-level/basis.sig
Index: basis.sig
===================================================================
RCS file: /cvsroot/mlton/mlton/basis-library/libs/basis-none/top-level/basis.sig,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- basis.sig 30 Jul 2004 19:07:58 -0000 1.3
+++ basis.sig 5 Aug 2004 00:36:48 -0000 1.4
@@ -1,19 +1,19 @@
signature BASIS_NONE =
sig
(* Top-level types *)
- eqtype unit
+ eqtype 'a array
+ datatype bool = datatype BasisExtra.bool
+ eqtype char
+ type exn
eqtype int
- eqtype word
+ datatype list = datatype BasisExtra.list
+ datatype ref = datatype BasisExtra.ref
type real
- eqtype char
eqtype string
type substring
- type exn
- eqtype 'a array
+ eqtype unit
eqtype 'a vector
- datatype ref = datatype ref
- datatype bool = datatype bool
- datatype list = datatype list
+ eqtype word
exception Bind
exception Match
@@ -22,12 +22,3 @@
val = : ''a * ''a -> bool
val <> : ''a * ''a -> bool
end
- (* Top-level types *)
- where type unit = unit
- where type int = int
- where type word = word
- where type real = real
- where type char = char
- where type exn = exn
- where type 'a array = 'a array
- where type 'a vector = 'a vector
1.3 +1 -19 mlton/basis-library/libs/basis-none/top-level/basis.sml
Index: basis.sml
===================================================================
RCS file: /cvsroot/mlton/mlton/basis-library/libs/basis-none/top-level/basis.sml,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- basis.sml 30 Jul 2004 19:07:58 -0000 1.2
+++ basis.sml 5 Aug 2004 00:36:48 -0000 1.3
@@ -1,19 +1 @@
-structure BasisNone: BASIS_NONE =
- struct
- open ArrayGlobal
- BoolGlobal
- CharGlobal
- IntGlobal
- GeneralGlobal
- ListGlobal
- RealGlobal
- StringGlobal
- RealGlobal
- SubstringGlobal
- VectorGlobal
- WordGlobal
-
- val op = = op =
- val op <> = op <>
- datatype ref = datatype ref
- end
+structure BasisNone : BASIS_NONE = BasisExtra
\ No newline at end of file
1.32 +1 -3 mlton/basis-library/mlton/mlton.sig
Index: mlton.sig
===================================================================
RCS file: /cvsroot/mlton/mlton/basis-library/mlton/mlton.sig,v
retrieving revision 1.31
retrieving revision 1.32
diff -u -r1.31 -r1.32
--- mlton.sig 28 Feb 2004 01:54:55 -0000 1.31
+++ mlton.sig 5 Aug 2004 00:36:48 -0000 1.32
@@ -5,9 +5,7 @@
* MLton is released under the GNU General Public License (GPL).
* Please see the file MLton-LICENSE for license information.
*)
-type int = Int.int
-type word = Word.word
-
+
signature MLTON =
sig
(* val cleanAtExit: unit -> unit *)
1.14 +4 -4 mlton/basis-library/sml-nj/sml-nj.sml
Index: sml-nj.sml
===================================================================
RCS file: /cvsroot/mlton/mlton/basis-library/sml-nj/sml-nj.sml,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -r1.13 -r1.14
--- sml-nj.sml 28 Feb 2004 01:16:48 -0000 1.13
+++ sml-nj.sml 5 Aug 2004 00:36:49 -0000 1.14
@@ -9,7 +9,7 @@
struct
structure Cont =
struct
- structure C = MLtonCont
+ structure C = MLton.Cont
type 'a cont = 'a C.t
val callcc = C.callcc
@@ -34,11 +34,11 @@
fun getAllArgs () = getCmdName () :: getArgs ()
- val exnHistory = MLtonExn.history
+ val exnHistory = MLton.Exn.history
fun exportFn (file: string, f) =
let
- open MLtonWorld OS.Process
+ open MLton.World OS.Process
in
case save (file ^ ".mlton") of
Original => exit success
@@ -47,7 +47,7 @@
fun exportML (f: string): bool =
let
- open MLtonWorld
+ open MLton.World
in
case save (f ^ ".mlton") of
Clone => true
1.85 +7 -3 mlton/bin/regression
Index: regression
===================================================================
RCS file: /cvsroot/mlton/mlton/bin/regression,v
retrieving revision 1.84
retrieving revision 1.85
diff -u -r1.84 -r1.85
--- regression 4 Aug 2004 15:25:38 -0000 1.84
+++ regression 5 Aug 2004 00:36:49 -0000 1.85
@@ -55,7 +55,7 @@
src=`cd $dir/.. && pwd`
bin="$src/build/bin"
mlton="$bin/mlton"
-flags="-disable-ann warnMatch -type-check true $flags"
+flags="-type-check true $flags"
if [ $cross = 'yes' ]; then
flags="$flags -target $crossTarget -stop g"
fi
@@ -86,7 +86,8 @@
exit 0
fi
-for f in `ls *.sml`; do
+# for f in `ls *.sml`; do
+for f in exnHistory.sml exnHistory2.sml exnHistory3.sml; do
f=`basename $f .sml`
case "$f" in
serialize)
@@ -106,7 +107,10 @@
no)
mlb="/tmp/$$.mlb"
echo "\$(MLTON_ROOT)/basis/basis.mlb
- ann allowExport true, allowImport true, allowOverload true
+ \$(MLTON_ROOT)/basis/mlton.mlb
+ \$(MLTON_ROOT)/basis/sml-nj.mlb
+ ann allowExport true, allowImport true, allowOverload true,
+ warnMatch false
in $src/regression/$f.sml end" >$mlb
$mlton $flags $extraFlags -output $f $mlb
rm $mlb
1.133 +1 -1 mlton/mlton/control/control.sml
Index: control.sml
===================================================================
RCS file: /cvsroot/mlton/mlton/mlton/control/control.sml,v
retrieving revision 1.132
retrieving revision 1.133
diff -u -r1.132 -r1.133
--- control.sml 4 Aug 2004 03:15:09 -0000 1.132
+++ control.sml 5 Aug 2004 00:36:49 -0000 1.133
@@ -31,7 +31,7 @@
toString = fn v => Layout.toString (Vector.layout
String.layout v)}
-val basisLibs = ["basis-2002", "basis-2002-strict", "basis-1997", "basis-none"]
+val basisLibs = ["basis-2002", "basis-1997", "basis-none"]
val basisLibrary = control {name = "basis library",
default = "basis-2002",
1.8 +1 -0 mlton/mlton/front-end/import.cm
Index: import.cm
===================================================================
RCS file: /cvsroot/mlton/mlton/mlton/front-end/import.cm,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- import.cm 29 Jul 2004 15:55:27 -0000 1.7
+++ import.cm 5 Aug 2004 00:36:49 -0000 1.8
@@ -20,6 +20,7 @@
structure IntInf
structure Layout
structure List
+structure Option
structure OS
structure Out
structure Pervasive
1.7 +15 -3 mlton/mlton/front-end/mlb-front-end.fun
Index: mlb-front-end.fun
===================================================================
RCS file: /cvsroot/mlton/mlton/mlton/front-end/mlb-front-end.fun,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- mlb-front-end.fun 3 Aug 2004 21:22:14 -0000 1.6
+++ mlb-front-end.fun 5 Aug 2004 00:36:49 -0000 1.7
@@ -143,6 +143,19 @@
fileUse = fileUse,
relativize = relativize}
end
+ val regularize =
+ Trace.trace ("MLBFrontEnd.regularize",
+ fn {fileOrig, cwd, relativize} =>
+ Layout.record
+ [("fileOrig", File.layout fileOrig),
+ ("cwd", Dir.layout cwd),
+ ("relativize", Option.layout Dir.layout relativize)],
+ fn {fileAbs, fileUse, relativize} =>
+ Layout.record
+ [("fileAbs", File.layout fileAbs),
+ ("fileUse", File.layout fileUse),
+ ("relativize", Option.layout Dir.layout relativize)])
+ regularize
fun lexAndParseProg {fileAbs: File.t, fileUse: File.t} =
let
@@ -209,8 +222,7 @@
else let
val mlbExts = ["mlb"]
val progExts = ["ML","fun","sig","sml"]
- fun err () =
- fail "has an invalid extension"
+ fun err () = fail "has an unknown extension"
in
case File.extension fileUse of
SOME s =>
@@ -239,7 +251,7 @@
val cwd = Dir.current ()
val relativize = SOME cwd
- val state = {cwd = cwd, relativize = SOME cwd, seen = []}
+ val state = {cwd = cwd, relativize = relativize, seen = []}
val lexAndParseFile = fn (f: File.t) =>
(case lexAndParseProgOrMLB state (f, Region.bogus) of
Ast.Basdec.MLB (_, _, basdec) => basdec
1.40 +10 -10 mlton/mlton/main/compile.fun
Index: compile.fun
===================================================================
RCS file: /cvsroot/mlton/mlton/mlton/main/compile.fun,v
retrieving revision 1.39
retrieving revision 1.40
diff -u -r1.39 -r1.40
--- compile.fun 4 Aug 2004 03:15:10 -0000 1.39
+++ compile.fun 5 Aug 2004 00:36:49 -0000 1.40
@@ -578,17 +578,17 @@
let
val basis =
String.concat
- ["$(MLTON_ROOT)/basis/",!Control.basisLibrary,".mlb\n"]
+ ["$(MLTON_ROOT)/basis/",!Control.basisLibrary,".mlb\n",
+ "$(MLTON_ROOT)/basis/mlton.mlb\n",
+ "$(MLTON_ROOT)/basis/sml-nj.mlb\n",
+ "$(MLTON_ROOT)/basis/unsafe.mlb\n"]
val s =
- if List.length input = 0
- then basis
- else
- String.concat
- ["local\n",
- basis,
- "in\n",
- String.concat (List.separate(input, "\n")), "\n",
- "end\n"]
+ String.concat
+ ["local\n",
+ basis,
+ "in\n",
+ String.concat (List.separate(input, "\n")), "\n",
+ "end\n"]
in
String s
end