[MLton-commit] r4750
Vesa Karvonen
vesak at mlton.org
Sun Oct 22 16:42:49 PDT 2006
Major restructuring with the intent to improve readability. The basic
idea is that the public directory contains everything that users need to
know about.
----------------------------------------------------------------------
D mltonlib/trunk/com/ssh/extended-basis/unstable/array.sig
D mltonlib/trunk/com/ssh/extended-basis/unstable/array.sml
D mltonlib/trunk/com/ssh/extended-basis/unstable/char.sig
A mltonlib/trunk/com/ssh/extended-basis/unstable/detail/
A mltonlib/trunk/com/ssh/extended-basis/unstable/detail/array.sml
A mltonlib/trunk/com/ssh/extended-basis/unstable/detail/emb.sml
A mltonlib/trunk/com/ssh/extended-basis/unstable/detail/iso.sml
A mltonlib/trunk/com/ssh/extended-basis/unstable/detail/mk-int-inf-ext.fun
A mltonlib/trunk/com/ssh/extended-basis/unstable/detail/mk-integer-ext.fun
A mltonlib/trunk/com/ssh/extended-basis/unstable/detail/mk-mono-array-ext.fun
A mltonlib/trunk/com/ssh/extended-basis/unstable/detail/mk-mono-vector-ext.fun
A mltonlib/trunk/com/ssh/extended-basis/unstable/detail/mk-real-ext.fun
A mltonlib/trunk/com/ssh/extended-basis/unstable/detail/mk-text-ext.fun
A mltonlib/trunk/com/ssh/extended-basis/unstable/detail/mk-word-ext.fun
A mltonlib/trunk/com/ssh/extended-basis/unstable/detail/mlton/
A mltonlib/trunk/com/ssh/extended-basis/unstable/detail/mlton/ints.sml
A mltonlib/trunk/com/ssh/extended-basis/unstable/detail/mlton/mono-arrays.sml
A mltonlib/trunk/com/ssh/extended-basis/unstable/detail/mlton/mono-vectors.sml
A mltonlib/trunk/com/ssh/extended-basis/unstable/detail/mlton/reals.sml
A mltonlib/trunk/com/ssh/extended-basis/unstable/detail/mlton/texts.sml
A mltonlib/trunk/com/ssh/extended-basis/unstable/detail/mlton/words.sml
A mltonlib/trunk/com/ssh/extended-basis/unstable/detail/vector.sml
D mltonlib/trunk/com/ssh/extended-basis/unstable/emb.sig
D mltonlib/trunk/com/ssh/extended-basis/unstable/emb.sml
U mltonlib/trunk/com/ssh/extended-basis/unstable/extensions.mlb
D mltonlib/trunk/com/ssh/extended-basis/unstable/int-inf.sig
D mltonlib/trunk/com/ssh/extended-basis/unstable/integer.sig
D mltonlib/trunk/com/ssh/extended-basis/unstable/ints-mlton.sml
D mltonlib/trunk/com/ssh/extended-basis/unstable/iso.sig
D mltonlib/trunk/com/ssh/extended-basis/unstable/iso.sml
D mltonlib/trunk/com/ssh/extended-basis/unstable/mk-int-inf-ext.fun
D mltonlib/trunk/com/ssh/extended-basis/unstable/mk-integer-ext.fun
D mltonlib/trunk/com/ssh/extended-basis/unstable/mk-mono-array-ext.fun
D mltonlib/trunk/com/ssh/extended-basis/unstable/mk-mono-vector-ext.fun
D mltonlib/trunk/com/ssh/extended-basis/unstable/mk-real-ext.fun
D mltonlib/trunk/com/ssh/extended-basis/unstable/mk-text-ext.fun
D mltonlib/trunk/com/ssh/extended-basis/unstable/mk-word-ext.fun
D mltonlib/trunk/com/ssh/extended-basis/unstable/mono-array.sig
D mltonlib/trunk/com/ssh/extended-basis/unstable/mono-arrays-mlton.sml
D mltonlib/trunk/com/ssh/extended-basis/unstable/mono-vector.sig
D mltonlib/trunk/com/ssh/extended-basis/unstable/mono-vectors-mlton.sml
A mltonlib/trunk/com/ssh/extended-basis/unstable/public/
A mltonlib/trunk/com/ssh/extended-basis/unstable/public/array.sig
A mltonlib/trunk/com/ssh/extended-basis/unstable/public/char.sig
A mltonlib/trunk/com/ssh/extended-basis/unstable/public/emb.sig
A mltonlib/trunk/com/ssh/extended-basis/unstable/public/export-mlton.sml
A mltonlib/trunk/com/ssh/extended-basis/unstable/public/export.sml
A mltonlib/trunk/com/ssh/extended-basis/unstable/public/int-inf.sig
A mltonlib/trunk/com/ssh/extended-basis/unstable/public/integer.sig
A mltonlib/trunk/com/ssh/extended-basis/unstable/public/iso.sig
A mltonlib/trunk/com/ssh/extended-basis/unstable/public/mono-array.sig
A mltonlib/trunk/com/ssh/extended-basis/unstable/public/mono-vector.sig
A mltonlib/trunk/com/ssh/extended-basis/unstable/public/real.sig
A mltonlib/trunk/com/ssh/extended-basis/unstable/public/string.sig
A mltonlib/trunk/com/ssh/extended-basis/unstable/public/text.sig
A mltonlib/trunk/com/ssh/extended-basis/unstable/public/vector.sig
A mltonlib/trunk/com/ssh/extended-basis/unstable/public/word.sig
D mltonlib/trunk/com/ssh/extended-basis/unstable/real.sig
D mltonlib/trunk/com/ssh/extended-basis/unstable/reals-mlton.sml
D mltonlib/trunk/com/ssh/extended-basis/unstable/string.sig
D mltonlib/trunk/com/ssh/extended-basis/unstable/text.sig
D mltonlib/trunk/com/ssh/extended-basis/unstable/texts-mlton.sml
D mltonlib/trunk/com/ssh/extended-basis/unstable/vector.sig
D mltonlib/trunk/com/ssh/extended-basis/unstable/vector.sml
D mltonlib/trunk/com/ssh/extended-basis/unstable/word.sig
D mltonlib/trunk/com/ssh/extended-basis/unstable/words-mlton.sml
----------------------------------------------------------------------
Deleted: mltonlib/trunk/com/ssh/extended-basis/unstable/array.sig
===================================================================
--- mltonlib/trunk/com/ssh/extended-basis/unstable/array.sig 2006-10-22 21:03:11 UTC (rev 4749)
+++ mltonlib/trunk/com/ssh/extended-basis/unstable/array.sig 2006-10-22 23:42:41 UTC (rev 4750)
@@ -1,52 +0,0 @@
-(* Copyright (C) 2006 SSH Communications Security, Helsinki, Finland
- *
- * MLton is released under a BSD-style license.
- * See the file MLton-LICENSE for details.
- *)
-
-(**
- * Extended {ARRAY} signature.
- *)
-signature ARRAY = sig
- include ARRAY
-
- (** == Conversions == *)
-
- val fromVector : 'a vector -> 'a array
- (**
- * Creates a new array from the given vector. Specifically, the
- * expression {fromVector v} is equivalent to the expression
- *
- *> tabulate (Vector.length v, fn i => Vector.sub (v, i))
- *)
-
- val toList : 'a array -> 'a list
- (**
- * Generates a list from the given array. Specifically, the result of
- * {toList a} is equivalent to {foldr op :: [] a}.
- *)
-
- val toVector : 'a array -> 'a vector
- (**
- * Generates a vector from the given array. Specifically, the result
- * of {toVector a} is equivalent to
- *
- *> Vector.tabulate (length a, fn i => sub (a, i))
- *)
-
- (** == Isomorphisms == *)
-
- val isoList : ('a array, 'a list) iso
- (**
- * An isomorphism between arrays and lists. It is always equivalent to
- * {(toList, fromList)}. Note that the isomorphism does not preserve
- * identity.
- *)
-
- val isoVector : ('a array, 'a vector) iso
- (**
- * An isomorphism between arrays and vectors. It is always equivalent
- * to {(toVector, fromVector)}. Note that the isomorphism does not
- * preserve identity.
- *)
-end
Deleted: mltonlib/trunk/com/ssh/extended-basis/unstable/array.sml
===================================================================
--- mltonlib/trunk/com/ssh/extended-basis/unstable/array.sml 2006-10-22 21:03:11 UTC (rev 4749)
+++ mltonlib/trunk/com/ssh/extended-basis/unstable/array.sml 2006-10-22 23:42:41 UTC (rev 4750)
@@ -1,17 +0,0 @@
-(* Copyright (C) 2006 SSH Communications Security, Helsinki, Finland
- *
- * MLton is released under a BSD-style license.
- * See the file MLton-LICENSE for details.
- *)
-
-(**
- * Extended {Array :> ARRAY} structure.
- *)
-structure Array : ARRAY = struct
- open Array
- fun toList a = foldr op :: [] a
- val isoList = (toList, fromList)
- val toVector = vector
- fun fromVector v = tabulate (Vector.length v, fn i => Vector.sub (v, i))
- val isoVector = (toVector, fromVector)
-end
Deleted: mltonlib/trunk/com/ssh/extended-basis/unstable/char.sig
===================================================================
--- mltonlib/trunk/com/ssh/extended-basis/unstable/char.sig 2006-10-22 21:03:11 UTC (rev 4749)
+++ mltonlib/trunk/com/ssh/extended-basis/unstable/char.sig 2006-10-22 23:42:41 UTC (rev 4750)
@@ -1,40 +0,0 @@
-(* Copyright (C) 2006 SSH Communications Security, Helsinki, Finland
- *
- * MLton is released under a BSD-style license.
- * See the file MLton-LICENSE for details.
- *)
-
-(**
- * Extended {CHAR} signature.
- *)
-signature CHAR = sig
- include CHAR
-
- (** == Bounds == *)
-
- val minOrd : Int.int
- (**
- * The least character code. It always equals {0}.
- *)
-
- val boundsChar : char * char
- (**
- * Pair of the least and greatest characters. It always equals
- * {(minChar, maxChar)}.
- *)
-
- val boundsOrd : Int.int * Int.int
- (**
- * Pair of the least and greatest character codes. It always equals
- * {(minOrd, maxOrd)}.
- *)
-
- (** == Isomorphisms == *)
-
- val isoInt : (char, Int.int) iso
- (**
- * An isomorphism between characters and character codes. It always
- * equals {(ord, chr)}. Note that the projection part of the
- * isomorphism, namely {chr}, is likely to be a partial function.
- *)
-end
Copied: mltonlib/trunk/com/ssh/extended-basis/unstable/detail/array.sml (from rev 4741, mltonlib/trunk/com/ssh/extended-basis/unstable/array.sml)
Copied: mltonlib/trunk/com/ssh/extended-basis/unstable/detail/emb.sml (from rev 4741, mltonlib/trunk/com/ssh/extended-basis/unstable/emb.sml)
Copied: mltonlib/trunk/com/ssh/extended-basis/unstable/detail/iso.sml (from rev 4741, mltonlib/trunk/com/ssh/extended-basis/unstable/iso.sml)
Copied: mltonlib/trunk/com/ssh/extended-basis/unstable/detail/mk-int-inf-ext.fun (from rev 4741, mltonlib/trunk/com/ssh/extended-basis/unstable/mk-int-inf-ext.fun)
Copied: mltonlib/trunk/com/ssh/extended-basis/unstable/detail/mk-integer-ext.fun (from rev 4741, mltonlib/trunk/com/ssh/extended-basis/unstable/mk-integer-ext.fun)
Copied: mltonlib/trunk/com/ssh/extended-basis/unstable/detail/mk-mono-array-ext.fun (from rev 4741, mltonlib/trunk/com/ssh/extended-basis/unstable/mk-mono-array-ext.fun)
Copied: mltonlib/trunk/com/ssh/extended-basis/unstable/detail/mk-mono-vector-ext.fun (from rev 4741, mltonlib/trunk/com/ssh/extended-basis/unstable/mk-mono-vector-ext.fun)
Copied: mltonlib/trunk/com/ssh/extended-basis/unstable/detail/mk-real-ext.fun (from rev 4741, mltonlib/trunk/com/ssh/extended-basis/unstable/mk-real-ext.fun)
Copied: mltonlib/trunk/com/ssh/extended-basis/unstable/detail/mk-text-ext.fun (from rev 4741, mltonlib/trunk/com/ssh/extended-basis/unstable/mk-text-ext.fun)
Copied: mltonlib/trunk/com/ssh/extended-basis/unstable/detail/mk-word-ext.fun (from rev 4741, mltonlib/trunk/com/ssh/extended-basis/unstable/mk-word-ext.fun)
Copied: mltonlib/trunk/com/ssh/extended-basis/unstable/detail/mlton/ints.sml (from rev 4741, mltonlib/trunk/com/ssh/extended-basis/unstable/ints-mlton.sml)
Copied: mltonlib/trunk/com/ssh/extended-basis/unstable/detail/mlton/mono-arrays.sml (from rev 4741, mltonlib/trunk/com/ssh/extended-basis/unstable/mono-arrays-mlton.sml)
Copied: mltonlib/trunk/com/ssh/extended-basis/unstable/detail/mlton/mono-vectors.sml (from rev 4741, mltonlib/trunk/com/ssh/extended-basis/unstable/mono-vectors-mlton.sml)
Copied: mltonlib/trunk/com/ssh/extended-basis/unstable/detail/mlton/reals.sml (from rev 4741, mltonlib/trunk/com/ssh/extended-basis/unstable/reals-mlton.sml)
Copied: mltonlib/trunk/com/ssh/extended-basis/unstable/detail/mlton/texts.sml (from rev 4741, mltonlib/trunk/com/ssh/extended-basis/unstable/texts-mlton.sml)
Copied: mltonlib/trunk/com/ssh/extended-basis/unstable/detail/mlton/words.sml (from rev 4741, mltonlib/trunk/com/ssh/extended-basis/unstable/words-mlton.sml)
Copied: mltonlib/trunk/com/ssh/extended-basis/unstable/detail/vector.sml (from rev 4741, mltonlib/trunk/com/ssh/extended-basis/unstable/vector.sml)
Deleted: mltonlib/trunk/com/ssh/extended-basis/unstable/emb.sig
===================================================================
--- mltonlib/trunk/com/ssh/extended-basis/unstable/emb.sig 2006-10-22 21:03:11 UTC (rev 4749)
+++ mltonlib/trunk/com/ssh/extended-basis/unstable/emb.sig 2006-10-22 23:42:41 UTC (rev 4750)
@@ -1,33 +0,0 @@
-(* Copyright (C) 2006 SSH Communications Security, Helsinki, Finland
- *
- * MLton is released under a BSD-style license.
- * See the file MLton-LICENSE for details.
- *)
-
-type ('a, 'b) emb = ('a -> 'b) * ('b -> 'a option)
-(**
- * Embedding of {'a} into {'b} with injection and projection functions.
- *)
-
-(**
- * Signature for the {Emb} structure for embeddings.
- *)
-signature EMB = sig
- type ('a, 'b) emb = ('a, 'b) emb
-
- val id : ('a, 'a) emb
- (**
- * The identity embedding. This is always equivalent to {(fn a => a,
- * SOME)}.
- *)
-
- val to : ('a, 'b) emb -> 'a -> 'b
- (**
- * Extracts the injection part of the given embedding.
- *)
-
- val from : ('a, 'b) emb -> 'b -> 'a option
- (**
- * Extracts the projection part of the given embedding.
- *)
-end
Deleted: mltonlib/trunk/com/ssh/extended-basis/unstable/emb.sml
===================================================================
--- mltonlib/trunk/com/ssh/extended-basis/unstable/emb.sml 2006-10-22 21:03:11 UTC (rev 4749)
+++ mltonlib/trunk/com/ssh/extended-basis/unstable/emb.sml 2006-10-22 23:42:41 UTC (rev 4750)
@@ -1,17 +0,0 @@
-(* Copyright (C) 2006 SSH Communications Security, Helsinki, Finland
- *
- * MLton is released under a BSD-style license.
- * See the file MLton-LICENSE for details.
- *)
-
-(**
- * Structure for embeddings.
- *)
-structure Emb :> EMB = struct
- type ('a, 'b) emb = ('a, 'b) emb
-
- val id = (fn a => a, SOME)
-
- fun to (a2b, _) = a2b
- fun from (_, b2a) = b2a
-end
Modified: mltonlib/trunk/com/ssh/extended-basis/unstable/extensions.mlb
===================================================================
--- mltonlib/trunk/com/ssh/extended-basis/unstable/extensions.mlb 2006-10-22 21:03:11 UTC (rev 4749)
+++ mltonlib/trunk/com/ssh/extended-basis/unstable/extensions.mlb 2006-10-22 23:42:41 UTC (rev 4750)
@@ -4,84 +4,89 @@
* See the file MLton-LICENSE for details.
*)
-ann
- "forceUsed"
- "sequenceNonUnit warn"
- "warnUnused true"
+local
+ $(SML_LIB)/basis/basis.mlb
in
- local
- $(SML_LIB)/basis/basis.mlb
+ ann
+ "forceUsed"
+ "sequenceNonUnit warn"
+ "warnUnused true"
in
- (* New {Iso :> ISO} and {Emb :> EMB} modules *)
- iso.sig
- iso.sml
- emb.sig
- emb.sml
-
- (* Extended integer modules *)
local
- mk-integer-ext.fun
- mk-int-inf-ext.fun
- in
- int-inf.sig
- integer.sig
- ints-mlton.sml
- end
+ (* New {Iso :> ISO} and {Emb :> EMB} modules *)
+ public/emb.sig
+ detail/emb.sml
+ public/iso.sig
+ detail/iso.sml
- (* Extended real modules *)
- local
- mk-real-ext.fun
- in
- real.sig
- reals-mlton.sml
- end
+ (* Extended integer modules *)
+ local
+ detail/mk-integer-ext.fun
+ detail/mk-int-inf-ext.fun
+ in
+ public/int-inf.sig
+ public/integer.sig
+ detail/mlton/ints.sml
+ end
- (* Extended word modules *)
- local
- mk-word-ext.fun
- in
- word.sig
- words-mlton.sml
- end
+ (* Extended real modules *)
+ local
+ detail/mk-real-ext.fun
+ in
+ public/real.sig
+ detail/mlton/reals.sml
+ end
- (* Extended vector module *)
- vector.sig
- vector.sml
+ (* Extended word modules *)
+ local
+ detail/mk-word-ext.fun
+ in
+ public/word.sig
+ detail/mlton/words.sml
+ end
- (* Extended array module
- * (may depend on vector module)
- *)
- array.sig
- array.sml
+ (* Extended vector module *)
+ public/vector.sig
+ detail/vector.sml
- (* Extended mono vector modules *)
- local
- mk-mono-vector-ext.fun
- in
- mono-vector.sig
- mono-vectors-mlton.sml
+ (* Extended array module
+ * (may depend on vector module)
+ *)
+ public/array.sig
+ detail/array.sml
- (* Extended mono array modules
- * (may depend on mono vector modules)
- *)
+ (* Extended mono vector modules *)
local
- mk-mono-array-ext.fun
+ detail/mk-mono-vector-ext.fun
in
- mono-array.sig
- mono-arrays-mlton.sml
+ public/mono-vector.sig
+ detail/mlton/mono-vectors.sml
- (* Extended text modules
- * (may depend on mono vector and mono array modules)
+ (* Extended mono array modules
+ * (may depend on mono vector modules)
*)
local
- mk-text-ext.fun
+ detail/mk-mono-array-ext.fun
in
- char.sig
- string.sig
- text.sig
- texts-mlton.sml
+ public/mono-array.sig
+ detail/mlton/mono-arrays.sml
+
+ (* Extended text modules
+ * (may depend on mono vector and mono array modules)
+ *)
+ local
+ detail/mk-text-ext.fun
+ in
+ public/char.sig
+ public/string.sig
+ public/text.sig
+ detail/mlton/texts.sml
+ end
end
end
+ in
+ public/export.sml
+ public/export-mlton.sml
end
end
end
Deleted: mltonlib/trunk/com/ssh/extended-basis/unstable/int-inf.sig
===================================================================
--- mltonlib/trunk/com/ssh/extended-basis/unstable/int-inf.sig 2006-10-22 21:03:11 UTC (rev 4749)
+++ mltonlib/trunk/com/ssh/extended-basis/unstable/int-inf.sig 2006-10-22 23:42:41 UTC (rev 4750)
@@ -1,65 +0,0 @@
-(* Copyright (C) 2006 SSH Communications Security, Helsinki, Finland
- *
- * MLton is released under a BSD-style license.
- * See the file MLton-LICENSE for details.
- *)
-
-(**
- * Extended {INT_INF} signature.
- *)
-signature INT_INF = sig
- include INT_INF
-
- (** == Bounds == *)
-
- val bounds : (int * int) option
- (**
- * Pair of the minimal and maximal integers, respectively,
- * representable by {int}. If {minInt = NONE} and {maxInt = NONE},
- * this is also {NONE}. Otherwise this is {SOME (valOf minInt, valOf
- * maxInt)}.
- *)
-
- (** == Embeddings == *)
-
- val embString : (int, string) emb
- (**
- * An embedding of integers into strings. It is always equivalent to
- * {(toString, fromString)}.
- *)
-
- (** == Isomorphisms == *)
-
- val isoInt : (int, Int.int) iso
- (**
- * An isomorphism between integers of type {int} and the default
- * integer type. It is always equivalent to {(toInt, fromInt)}. Note
- * that one of the injection and projection parts may be partial.
- *)
-
- val isoLarge : (int, LargeInt.int) iso
- (**
- * An isomorphism between integers of type {int} and integers of type
- * {LargeInt.int}. It is always equivalent to {(toLarge, fromLarge)}.
- * Note that the projection part may be partial.
- *)
-
- (** == Predicates == *)
-
- val isEven : int -> bool
- (**
- * Returns true if the given integer is of the form {2*n} for some
- * integer {n}.
- *)
-
- val isOdd : int -> bool
- (**
- * Returns true if the given integer is of the form {2*n+1} for some
- * integer {n}.
- *)
-
- val isZero : int -> bool
- (**
- * Returns true if the given integer is {0}.
- *)
-end
Deleted: mltonlib/trunk/com/ssh/extended-basis/unstable/integer.sig
===================================================================
--- mltonlib/trunk/com/ssh/extended-basis/unstable/integer.sig 2006-10-22 21:03:11 UTC (rev 4749)
+++ mltonlib/trunk/com/ssh/extended-basis/unstable/integer.sig 2006-10-22 23:42:41 UTC (rev 4750)
@@ -1,65 +0,0 @@
-(* Copyright (C) 2006 SSH Communications Security, Helsinki, Finland
- *
- * MLton is released under a BSD-style license.
- * See the file MLton-LICENSE for details.
- *)
-
-(**
- * Extended {INTEGER} signature.
- *)
-signature INTEGER = sig
- include INTEGER
-
- (** == Bounds == *)
-
- val bounds : (int * int) option
- (**
- * Pair of the minimal and maximal integers, respectively,
- * representable by {int}. If {minInt = NONE} and {maxInt = NONE},
- * this is also {NONE}. Otherwise this is {SOME (valOf minInt, valOf
- * maxInt)}.
- *)
-
- (** == Embeddings == *)
-
- val embString : (int, string) emb
- (**
- * An embedding of integers into strings. It is always equivalent to
- * {(toString, fromString)}.
- *)
-
- (** == Isomorphisms == *)
-
- val isoInt : (int, Int.int) iso
- (**
- * An isomorphism between integers of type {int} and the default
- * integer type. It is always equivalent to {(toInt, fromInt)}. Note
- * that one of the injection and projection parts may be partial.
- *)
-
- val isoLarge : (int, LargeInt.int) iso
- (**
- * An isomorphism between integers of type {int} and integers of type
- * {LargeInt.int}. It is always equivalent to {(toLarge, fromLarge)}.
- * Note that the projection part may be partial.
- *)
-
- (** == Predicates == *)
-
- val isEven : int -> bool
- (**
- * Returns true if the given integer is of the form {2*n} for some
- * integer {n}.
- *)
-
- val isOdd : int -> bool
- (**
- * Returns true if the given integer is of the form {2*n+1} for some
- * integer {n}.
- *)
-
- val isZero : int -> bool
- (**
- * Returns true if the given integer is {0}.
- *)
-end
Deleted: mltonlib/trunk/com/ssh/extended-basis/unstable/ints-mlton.sml
===================================================================
--- mltonlib/trunk/com/ssh/extended-basis/unstable/ints-mlton.sml 2006-10-22 21:03:11 UTC (rev 4749)
+++ mltonlib/trunk/com/ssh/extended-basis/unstable/ints-mlton.sml 2006-10-22 23:42:41 UTC (rev 4750)
@@ -1,49 +0,0 @@
-(* Copyright (C) 2006 SSH Communications Security, Helsinki, Finland
- *
- * MLton is released under a BSD-style license.
- * See the file MLton-LICENSE for details.
- *)
-
-(** == Extended {INTEGER} and {INT_INF} modules for MLton == *)
-
-structure Int : INTEGER = MkIntegerExt (Int)
-structure FixedInt : INTEGER = MkIntegerExt (FixedInt)
-structure LargeInt : INTEGER = MkIntegerExt (LargeInt)
-structure Position : INTEGER = MkIntegerExt (Position)
-
-structure Int1 : INTEGER = MkIntegerExt (Int1)
-structure Int2 : INTEGER = MkIntegerExt (Int2)
-structure Int3 : INTEGER = MkIntegerExt (Int3)
-structure Int4 : INTEGER = MkIntegerExt (Int4)
-structure Int5 : INTEGER = MkIntegerExt (Int5)
-structure Int6 : INTEGER = MkIntegerExt (Int6)
-structure Int7 : INTEGER = MkIntegerExt (Int7)
-structure Int8 : INTEGER = MkIntegerExt (Int8)
-structure Int9 : INTEGER = MkIntegerExt (Int9)
-structure Int10 : INTEGER = MkIntegerExt (Int10)
-structure Int11 : INTEGER = MkIntegerExt (Int11)
-structure Int12 : INTEGER = MkIntegerExt (Int12)
-structure Int13 : INTEGER = MkIntegerExt (Int13)
-structure Int14 : INTEGER = MkIntegerExt (Int14)
-structure Int15 : INTEGER = MkIntegerExt (Int15)
-structure Int16 : INTEGER = MkIntegerExt (Int16)
-structure Int17 : INTEGER = MkIntegerExt (Int17)
-structure Int18 : INTEGER = MkIntegerExt (Int18)
-structure Int19 : INTEGER = MkIntegerExt (Int19)
-structure Int20 : INTEGER = MkIntegerExt (Int20)
-structure Int21 : INTEGER = MkIntegerExt (Int21)
-structure Int22 : INTEGER = MkIntegerExt (Int22)
-structure Int23 : INTEGER = MkIntegerExt (Int23)
-structure Int24 : INTEGER = MkIntegerExt (Int24)
-structure Int25 : INTEGER = MkIntegerExt (Int25)
-structure Int26 : INTEGER = MkIntegerExt (Int26)
-structure Int27 : INTEGER = MkIntegerExt (Int27)
-structure Int28 : INTEGER = MkIntegerExt (Int28)
-structure Int29 : INTEGER = MkIntegerExt (Int29)
-structure Int30 : INTEGER = MkIntegerExt (Int30)
-structure Int31 : INTEGER = MkIntegerExt (Int31)
-structure Int32 : INTEGER = MkIntegerExt (Int32)
-
-structure Int64 : INTEGER = MkIntegerExt (Int64)
-
-structure IntInf : INT_INF = MkIntInfExt (IntInf)
Deleted: mltonlib/trunk/com/ssh/extended-basis/unstable/iso.sig
===================================================================
--- mltonlib/trunk/com/ssh/extended-basis/unstable/iso.sig 2006-10-22 21:03:11 UTC (rev 4749)
+++ mltonlib/trunk/com/ssh/extended-basis/unstable/iso.sig 2006-10-22 23:42:41 UTC (rev 4750)
@@ -1,34 +0,0 @@
-(* Copyright (C) 2006 SSH Communications Security, Helsinki, Finland
- *
- * MLton is released under a BSD-style license.
- * See the file MLton-LICENSE for details.
- *)
-
-type ('a, 'b) iso = ('a -> 'b) * ('b -> 'a)
-(**
- * Isomorphism between {'a} and {'b} with injection and projection
- * functions.
- *)
-
-(**
- * Signature for the {Iso} structure for isomorphisms.
- *)
-signature ISO = sig
- type ('a, 'b) iso = ('a, 'b) iso
-
- val id : ('a, 'a) iso
- (**
- * The identity isomorphism. This is always equivalent to {(fn a => a,
- * fn a => a)}.
- *)
-
- val to : ('a, 'b) iso -> 'a -> 'b
- (**
- * Extracts the injection part of the given isomorphism.
- *)
-
- val from : ('a, 'b) iso -> 'b -> 'a
- (**
- * Extracts the projection part of the given isomorphism.
- *)
-end
Deleted: mltonlib/trunk/com/ssh/extended-basis/unstable/iso.sml
===================================================================
--- mltonlib/trunk/com/ssh/extended-basis/unstable/iso.sml 2006-10-22 21:03:11 UTC (rev 4749)
+++ mltonlib/trunk/com/ssh/extended-basis/unstable/iso.sml 2006-10-22 23:42:41 UTC (rev 4750)
@@ -1,17 +0,0 @@
-(* Copyright (C) 2006 SSH Communications Security, Helsinki, Finland
- *
- * MLton is released under a BSD-style license.
- * See the file MLton-LICENSE for details.
- *)
-
-(**
- * Structure for isomorphisms.
- *)
-structure Iso :> ISO = struct
- type ('a, 'b) iso = ('a, 'b) iso
-
- val id = (fn a => a, fn a => a)
-
- fun to (a2b, _) = a2b
- fun from (_, b2a) = b2a
-end
Deleted: mltonlib/trunk/com/ssh/extended-basis/unstable/mk-int-inf-ext.fun
===================================================================
--- mltonlib/trunk/com/ssh/extended-basis/unstable/mk-int-inf-ext.fun 2006-10-22 21:03:11 UTC (rev 4749)
+++ mltonlib/trunk/com/ssh/extended-basis/unstable/mk-int-inf-ext.fun 2006-10-22 23:42:41 UTC (rev 4750)
@@ -1,16 +0,0 @@
-(* Copyright (C) 2006 SSH Communications Security, Helsinki, Finland
- *
- * MLton is released under a BSD-style license.
- * See the file MLton-LICENSE for details.
- *)
-
-(**
- * Functor for extending {INT_INF} modules.
- *)
-functor MkIntInfExt (I : INT_INF) = struct
- local
- structure E = MkIntegerExt (I)
- in
- open E I
- end
-end
Deleted: mltonlib/trunk/com/ssh/extended-basis/unstable/mk-integer-ext.fun
===================================================================
--- mltonlib/trunk/com/ssh/extended-basis/unstable/mk-integer-ext.fun 2006-10-22 21:03:11 UTC (rev 4749)
+++ mltonlib/trunk/com/ssh/extended-basis/unstable/mk-integer-ext.fun 2006-10-22 23:42:41 UTC (rev 4750)
@@ -1,22 +0,0 @@
-(* Copyright (C) 2006 SSH Communications Security, Helsinki, Finland
- *
- * MLton is released under a BSD-style license.
- * See the file MLton-LICENSE for details.
- *)
-
-(**
- * Functor for extending {INTEGER} modules.
- *)
-functor MkIntegerExt (I : INTEGER) = struct
- open I
- val embString = (toString, fromString)
- val isoInt = (toInt, fromInt)
- val isoLarge = (toLarge, fromLarge)
- fun isZero i = fromInt 0 = i
- fun isEven i = isZero (rem (i, fromInt 2))
- val isOdd = not o isEven
- val bounds = case (minInt, maxInt) of
- (NONE, NONE) => NONE
- | (SOME min, SOME max) => SOME (min, max)
- | _ => raise Fail "impossible"
-end
Deleted: mltonlib/trunk/com/ssh/extended-basis/unstable/mk-mono-array-ext.fun
===================================================================
--- mltonlib/trunk/com/ssh/extended-basis/unstable/mk-mono-array-ext.fun 2006-10-22 21:03:11 UTC (rev 4749)
+++ mltonlib/trunk/com/ssh/extended-basis/unstable/mk-mono-array-ext.fun 2006-10-22 23:42:41 UTC (rev 4750)
@@ -1,25 +0,0 @@
-(* Copyright (C) 2006 SSH Communications Security, Helsinki, Finland
- *
- * MLton is released under a BSD-style license.
- * See the file MLton-LICENSE for details.
- *)
-
-(**
- * Functor for extending {MONO_ARRAY} modules.
- *)
-functor MkMonoArrayExt (structure MonoVector : MONO_VECTOR
- structure MonoArray : MONO_ARRAY
- where type elem = MonoVector.elem
- where type vector = MonoVector.vector) = struct
- open MonoArray
- fun toList a = foldr op :: [] a
- val isoList = (toList, fromList)
- val toVector = vector
- fun fromVector v =
- tabulate (MonoVector.length v, fn i => MonoVector.sub (v, i))
- val isoVector = (toVector, fromVector)
- fun toPoly a = Array.tabulate (length a, fn i => sub (a, i))
- fun fromPoly a = tabulate (Array.length a, fn i => Array.sub (a, i))
- val isoPoly = (toPoly, fromPoly)
-end
-
Deleted: mltonlib/trunk/com/ssh/extended-basis/unstable/mk-mono-vector-ext.fun
===================================================================
--- mltonlib/trunk/com/ssh/extended-basis/unstable/mk-mono-vector-ext.fun 2006-10-22 21:03:11 UTC (rev 4749)
+++ mltonlib/trunk/com/ssh/extended-basis/unstable/mk-mono-vector-ext.fun 2006-10-22 23:42:41 UTC (rev 4750)
@@ -1,18 +0,0 @@
-(* Copyright (C) 2006 SSH Communications Security, Helsinki, Finland
- *
- * MLton is released under a BSD-style license.
- * See the file MLton-LICENSE for details.
- *)
-
-(**
- * Functor for extending {MONO_VECTOR} modules.
- *)
-functor MkMonoVectorExt (M : MONO_VECTOR) = struct
- open M
- fun toList v = foldr op :: [] v
- val isoList = (toList, fromList)
- (* XXX It would be nice to avoid copying in toPoly and fromPoly *)
- fun toPoly v = Vector.tabulate (length v, fn i => sub (v, i))
- fun fromPoly v = tabulate (Vector.length v, fn i => Vector.sub (v, i))
- val isoPoly = (toPoly, fromPoly)
-end
Deleted: mltonlib/trunk/com/ssh/extended-basis/unstable/mk-real-ext.fun
===================================================================
--- mltonlib/trunk/com/ssh/extended-basis/unstable/mk-real-ext.fun 2006-10-22 21:03:11 UTC (rev 4749)
+++ mltonlib/trunk/com/ssh/extended-basis/unstable/mk-real-ext.fun 2006-10-22 23:42:41 UTC (rev 4750)
@@ -1,19 +0,0 @@
-(* Copyright (C) 2006 SSH Communications Security, Helsinki, Finland
- *
- * MLton is released under a BSD-style license.
- * See the file MLton-LICENSE for details.
- *)
-
-(**
- * Functor for extending {REAL} modules.
- *)
-
-functor MkRealExt (R : REAL) = struct
- open R
- val embDecimal = (toDecimal, fromDecimal)
- val embString = (toString, fromString)
- val isoInt = (toInt IEEEReal.TO_NEAREST, fromInt)
- val isoLarge = (toLarge, fromLarge IEEEReal.TO_NEAREST)
- val isoLargeInt = (toLargeInt IEEEReal.TO_NEAREST, fromLargeInt)
- val isoManExp = (toManExp, fromManExp)
-end
Deleted: mltonlib/trunk/com/ssh/extended-basis/unstable/mk-text-ext.fun
===================================================================
--- mltonlib/trunk/com/ssh/extended-basis/unstable/mk-text-ext.fun 2006-10-22 21:03:11 UTC (rev 4749)
+++ mltonlib/trunk/com/ssh/extended-basis/unstable/mk-text-ext.fun 2006-10-22 23:42:41 UTC (rev 4750)
@@ -1,32 +0,0 @@
-(* Copyright (C) 2006 SSH Communications Security, Helsinki, Finland
- *
- * MLton is released under a BSD-style license.
- * See the file MLton-LICENSE for details.
- *)
-
-(**
- * Functor for extending {TEXT} modules.
- *)
-functor MkTextExt (T : TEXT) = struct
- open T
-
- structure Char = struct
- open Char
- val minOrd = 0
- val boundsChar = (minChar, maxChar)
- val boundsOrd = (minOrd, maxOrd)
- val isoInt = (ord, chr)
- end
-
- structure CharVector = MkMonoVectorExt (CharVector)
- structure CharArray =
- MkMonoArrayExt (structure MonoArray = CharArray
- structure MonoVector = CharVector)
-
- structure String = struct
- open CharVector String
- val embCString = (toCString, fromCString)
- val embString = (toString, fromString)
- val isoList = (explode, implode)
- end
-end
Deleted: mltonlib/trunk/com/ssh/extended-basis/unstable/mk-word-ext.fun
===================================================================
--- mltonlib/trunk/com/ssh/extended-basis/unstable/mk-word-ext.fun 2006-10-22 21:03:11 UTC (rev 4749)
+++ mltonlib/trunk/com/ssh/extended-basis/unstable/mk-word-ext.fun 2006-10-22 23:42:41 UTC (rev 4750)
@@ -1,26 +0,0 @@
-(* Copyright (C) 2006 SSH Communications Security, Helsinki, Finland
- *
- * MLton is released under a BSD-style license.
- * See the file MLton-LICENSE for details.
- *)
-
-(**
- * Functor for extending {WORD} modules.
- *)
-functor MkWordExt (W : WORD) = struct
- open W
- val toWord = Word.fromLarge o toLarge
- val fromWord = fromLarge o Word.toLarge
- val embString = (toString, fromString)
- val isoInt = (toInt, fromInt)
- val isoIntX = (toIntX, fromInt)
- val isoLarge = (toLarge, fromLarge)
- val isoLargeInt = (toLargeInt, fromLargeInt)
- val isoLargeIntX = (toLargeIntX, fromLargeInt)
- val isoLargeX = (toLargeX, fromLarge)
- val isoWord = (toWord, fromWord)
- fun isZero w = fromInt 0 = w
- fun isEven w = isZero (andb (fromInt 1, w))
- val isOdd = not o isEven
- val bounds as (minWord, maxWord) = (fromInt 0, fromInt~1)
-end
Deleted: mltonlib/trunk/com/ssh/extended-basis/unstable/mono-array.sig
===================================================================
--- mltonlib/trunk/com/ssh/extended-basis/unstable/mono-array.sig 2006-10-22 21:03:11 UTC (rev 4749)
+++ mltonlib/trunk/com/ssh/extended-basis/unstable/mono-array.sig 2006-10-22 23:42:41 UTC (rev 4750)
@@ -1,80 +0,0 @@
-(* Copyright (C) 2006 SSH Communications Security, Helsinki, Finland
- *
- * MLton is released under a BSD-style license.
- * See the file MLton-LICENSE for details.
- *)
-
-(**
- * Extended {MONO_ARRAY} signature.
- *)
-signature MONO_ARRAY = sig
- include MONO_ARRAY
-
- (** == Conversions == *)
-
- val fromPoly : elem Array.array -> array
- (**
- * Creates a new monomorphic array from the given polymorphic array.
- * Specifically, the expression {fromPoly a} is equivalent to the
- * expression
- *
- *> tabulate (Array.length a, fn i => Array.sub (a, i))
- *)
-
- val fromVector : vector -> array
- (**
- * Creates a new array from the given vector. Specifically, the
- * expression {fromVector v} is equivalent to the expression
- *
- *> tabulate (Vector.length v, fn i => Vector.sub (v, i))
- *)
-
- val toList : array -> elem list
- (**
- * Generates a list from the given array. Specifically, the result of
- * {toList a} is equivalent to {foldr op :: [] a}.
- *)
-
- val toPoly : array -> elem Array.array
- (**
- * Creates a new polymorphic array from the given monomorphic array.
- * Specifically, the expression {toPoly a} is equivalent to the
- * expression
- *
- *> Array.tabulate (length a, fn i => Array.sub (a, i))
- *)
-
- val toVector : array -> vector
- (**
- * Generates a vector from the given array. Specifically, the result
- * of {toVector a} is equivalent to
- *
- *> MonoVector.tabulate (length a, fn i => sub (a, i))
- *
- * where {MonoVector} refers to the home structure of the monomorphic
- * {vector} type.
- *)
-
- (** == Isomorphisms == *)
-
- val isoList : (array, elem list) iso
- (**
- * An isomorphism between arrays and lists. It is always equivalent to
- * {(toList, fromList)}. Note that the isomorphism does not preserve
- * identity.
- *)
-
- val isoPoly : (array, elem Array.array) iso
- (**
- * An isomorphism between monomorphic and polymorphic arrays. It is
- * always equivalent to {(toPoly, fromPoly)}. Note that the
- * isomorphism does not preserve identity.
- *)
-
- val isoVector : (array, vector) iso
- (**
- * An isomorphism between arrays and vectors. It is always equivalent
- * to {(toVector, fromVector)}. Note that the isomorphism does not
- * preserve identity.
- *)
-end
Deleted: mltonlib/trunk/com/ssh/extended-basis/unstable/mono-arrays-mlton.sml
===================================================================
--- mltonlib/trunk/com/ssh/extended-basis/unstable/mono-arrays-mlton.sml 2006-10-22 21:03:11 UTC (rev 4749)
+++ mltonlib/trunk/com/ssh/extended-basis/unstable/mono-arrays-mlton.sml 2006-10-22 23:42:41 UTC (rev 4750)
@@ -1,62 +0,0 @@
-(* Copyright (C) 2006 SSH Communications Security, Helsinki, Finland
- *
- * MLton is released under a BSD-style license.
- * See the file MLton-LICENSE for details.
- *)
-
-(** == Extended {MONO_ARRAY} modules for MLton == *)
-
-structure BoolArray : MONO_ARRAY =
- MkMonoArrayExt (structure MonoArray = BoolArray
- structure MonoVector = BoolVector)
-
-structure IntArray : MONO_ARRAY =
- MkMonoArrayExt (structure MonoArray = IntArray
- structure MonoVector = IntVector)
-structure LargeIntArray : MONO_ARRAY =
- MkMonoArrayExt (structure MonoArray = LargeIntArray
- structure MonoVector = LargeIntVector)
-structure Int8Array : MONO_ARRAY =
- MkMonoArrayExt (structure MonoArray = Int8Array
- structure MonoVector = Int8Vector)
-structure Int16Array : MONO_ARRAY =
- MkMonoArrayExt (structure MonoArray = Int16Array
- structure MonoVector = Int16Vector)
-structure Int32Array : MONO_ARRAY =
- MkMonoArrayExt (structure MonoArray = Int32Array
- structure MonoVector = Int32Vector)
-structure Int64Array : MONO_ARRAY =
- MkMonoArrayExt (structure MonoArray = Int64Array
- structure MonoVector = Int64Vector)
-
-structure RealArray : MONO_ARRAY =
- MkMonoArrayExt (structure MonoArray = RealArray
- structure MonoVector = RealVector)
-structure LargeRealArray : MONO_ARRAY =
- MkMonoArrayExt (structure MonoArray = LargeRealArray
- structure MonoVector = LargeRealVector)
-structure Real32Array : MONO_ARRAY =
- MkMonoArrayExt (structure MonoArray = Real32Array
- structure MonoVector = Real32Vector)
-structure Real64Array : MONO_ARRAY =
- MkMonoArrayExt (structure MonoArray = Real64Array
- structure MonoVector = Real64Vector)
-
-structure WordArray : MONO_ARRAY =
- MkMonoArrayExt (structure MonoArray = WordArray
- structure MonoVector = WordVector)
-structure LargeWordArray : MONO_ARRAY =
- MkMonoArrayExt (structure MonoArray = LargeWordArray
- structure MonoVector = LargeWordVector)
-structure Word8Array : MONO_ARRAY =
- MkMonoArrayExt (structure MonoArray = Word8Array
- structure MonoVector = Word8Vector)
-structure Word16Array : MONO_ARRAY =
- MkMonoArrayExt (structure MonoArray = Word16Array
- structure MonoVector = Word16Vector)
-structure Word32Array : MONO_ARRAY =
- MkMonoArrayExt (structure MonoArray = Word32Array
- structure MonoVector = Word32Vector)
-structure Word64Array : MONO_ARRAY =
- MkMonoArrayExt (structure MonoArray = Word64Array
- structure MonoVector = Word64Vector)
Deleted: mltonlib/trunk/com/ssh/extended-basis/unstable/mono-vector.sig
===================================================================
--- mltonlib/trunk/com/ssh/extended-basis/unstable/mono-vector.sig 2006-10-22 21:03:11 UTC (rev 4749)
+++ mltonlib/trunk/com/ssh/extended-basis/unstable/mono-vector.sig 2006-10-22 23:42:41 UTC (rev 4750)
@@ -1,50 +0,0 @@
-(* Copyright (C) 2006 SSH Communications Security, Helsinki, Finland
- *
- * MLton is released under a BSD-style license.
- * See the file MLton-LICENSE for details.
- *)
-
-(**
- * Extended {MONO_VECTOR} signature.
- *)
-signature MONO_VECTOR = sig
- include MONO_VECTOR
-
- (** == Conversions == *)
-
- val fromPoly : elem Vector.vector -> vector
- (**
- * Generates a monomorphic vector from the given polymorphic vector.
- * Specifically, the result of {fromPoly v} is equivalent to
- *
- *> tabulate (Vector.length v, fn i => Vector.sub (v, i))
- *)
-
- val toList : vector -> elem list
- (**
- * Generates a list from the given vector. Specifically, the result of
- * {toList v} is equivalent to {foldr op :: [] v}.
- *)
-
- val toPoly : vector -> elem Vector.vector
- (**
- * Generates a new polymorphic vector from the given monomorphic
- * vector. Specifically, the result of {toPoly v} is equivalent to
- *
- *> Vector.tabulate (length v, fn i => Vector.sub (v, i))
- *)
-
- (** == Isomorphisms == *)
-
- val isoList : (vector, elem list) iso
- (**
- * An isomorphism between vectors and lists. It is always equivalent
- * to {(toList, fromList)}.
- *)
-
- val isoPoly : (vector, elem Vector.vector) iso
- (**
- * An isomorphism between monomorphic and polymorphic vectors. It is
- * always equivalent to {(toPoly, fromPoly)}.
- *)
-end
Deleted: mltonlib/trunk/com/ssh/extended-basis/unstable/mono-vectors-mlton.sml
===================================================================
--- mltonlib/trunk/com/ssh/extended-basis/unstable/mono-vectors-mlton.sml 2006-10-22 21:03:11 UTC (rev 4749)
+++ mltonlib/trunk/com/ssh/extended-basis/unstable/mono-vectors-mlton.sml 2006-10-22 23:42:41 UTC (rev 4750)
@@ -1,28 +0,0 @@
-(* Copyright (C) 2006 SSH Communications Security, Helsinki, Finland
- *
- * MLton is released under a BSD-style license.
- * See the file MLton-LICENSE for details.
- *)
-
-(** == Extended {MONO_VECTOR} modules for MLton == *)
-
-structure BoolVector : MONO_VECTOR = MkMonoVectorExt (BoolVector)
-
-structure IntVector : MONO_VECTOR = MkMonoVectorExt (IntVector)
-structure LargeIntVector : MONO_VECTOR = MkMonoVectorExt (LargeIntVector)
-structure Int8Vector : MONO_VECTOR = MkMonoVectorExt (Int8Vector)
-structure Int16Vector : MONO_VECTOR = MkMonoVectorExt (Int16Vector)
-structure Int32Vector : MONO_VECTOR = MkMonoVectorExt (Int32Vector)
-structure Int64Vector : MONO_VECTOR = MkMonoVectorExt (Int64Vector)
-
-structure RealVector : MONO_VECTOR = MkMonoVectorExt (RealVector)
-structure LargeRealVector : MONO_VECTOR = MkMonoVectorExt (LargeRealVector)
-structure Real32Vector : MONO_VECTOR = MkMonoVectorExt (Real32Vector)
-structure Real64Vector : MONO_VECTOR = MkMonoVectorExt (Real64Vector)
-
-structure WordVector : MONO_VECTOR = MkMonoVectorExt (WordVector)
-structure LargeWordVector : MONO_VECTOR = MkMonoVectorExt (LargeWordVector)
-structure Word8Vector : MONO_VECTOR = MkMonoVectorExt (Word8Vector)
-structure Word16Vector : MONO_VECTOR = MkMonoVectorExt (Word16Vector)
-structure Word32Vector : MONO_VECTOR = MkMonoVectorExt (Word32Vector)
-structure Word64Vector : MONO_VECTOR = MkMonoVectorExt (Word64Vector)
Copied: mltonlib/trunk/com/ssh/extended-basis/unstable/public/array.sig (from rev 4741, mltonlib/trunk/com/ssh/extended-basis/unstable/array.sig)
Copied: mltonlib/trunk/com/ssh/extended-basis/unstable/public/char.sig (from rev 4742, mltonlib/trunk/com/ssh/extended-basis/unstable/char.sig)
Copied: mltonlib/trunk/com/ssh/extended-basis/unstable/public/emb.sig (from rev 4742, mltonlib/trunk/com/ssh/extended-basis/unstable/emb.sig)
Added: mltonlib/trunk/com/ssh/extended-basis/unstable/public/export-mlton.sml
===================================================================
--- mltonlib/trunk/com/ssh/extended-basis/unstable/public/export-mlton.sml 2006-10-22 21:03:11 UTC (rev 4749)
+++ mltonlib/trunk/com/ssh/extended-basis/unstable/public/export-mlton.sml 2006-10-22 23:42:41 UTC (rev 4750)
@@ -0,0 +1,110 @@
+(* Copyright (C) 2006 SSH Communications Security, Helsinki, Finland
+ *
+ * MLton is released under a BSD-style license.
+ * See the file MLton-LICENSE for details.
+ *)
+
+(** == MLton specific extensions == *)
+
+structure BoolArray : MONO_ARRAY = BoolArray
+structure BoolVector : MONO_VECTOR = BoolVector
+structure FixedInt : INTEGER = FixedInt
+structure Int1 : INTEGER = Int1
+structure Int10 : INTEGER = Int10
+structure Int11 : INTEGER = Int11
+structure Int12 : INTEGER = Int12
+structure Int13 : INTEGER = Int13
+structure Int14 : INTEGER = Int14
+structure Int15 : INTEGER = Int15
+structure Int16 : INTEGER = Int16
+structure Int16Array : MONO_ARRAY = Int16Array
+structure Int16Vector : MONO_VECTOR = Int16Vector
+structure Int17 : INTEGER = Int17
+structure Int18 : INTEGER = Int18
+structure Int19 : INTEGER = Int19
+structure Int2 : INTEGER = Int2
+structure Int20 : INTEGER = Int20
+structure Int21 : INTEGER = Int21
+structure Int22 : INTEGER = Int22
+structure Int23 : INTEGER = Int23
+structure Int24 : INTEGER = Int24
+structure Int25 : INTEGER = Int25
+structure Int26 : INTEGER = Int26
+structure Int27 : INTEGER = Int27
+structure Int28 : INTEGER = Int28
+structure Int29 : INTEGER = Int29
+structure Int3 : INTEGER = Int3
+structure Int30 : INTEGER = Int30
+structure Int31 : INTEGER = Int31
+structure Int32 : INTEGER = Int32
+structure Int32Array : MONO_ARRAY = Int32Array
+structure Int32Vector : MONO_VECTOR = Int32Vector
+structure Int4 : INTEGER = Int4
+structure Int5 : INTEGER = Int5
+structure Int6 : INTEGER = Int6
+structure Int64 : INTEGER = Int64
+structure Int64Array : MONO_ARRAY = Int64Array
+structure Int64Vector : MONO_VECTOR = Int64Vector
+structure Int7 : INTEGER = Int7
+structure Int8 : INTEGER = Int8
+structure Int8Array : MONO_ARRAY = Int8Array
+structure Int8Vector : MONO_VECTOR = Int8Vector
+structure Int9 : INTEGER = Int9
+structure IntArray : MONO_ARRAY = IntArray
+structure IntInf : INT_INF = IntInf
+structure IntVector : MONO_VECTOR = IntVector
+structure LargeIntArray : MONO_ARRAY = LargeIntArray
+structure LargeIntVector : MONO_VECTOR = LargeIntVector
+structure LargeRealArray : MONO_ARRAY = LargeRealArray
+structure LargeRealVector : MONO_VECTOR = LargeRealVector
+structure LargeWordArray : MONO_ARRAY = LargeWordArray
+structure LargeWordVector : MONO_VECTOR = LargeWordVector
+structure Real32 : REAL = Real32
+structure Real32Array : MONO_ARRAY = Real32Array
+structure Real32Vector : MONO_VECTOR = Real32Vector
+structure Real64 : REAL = Real64
+structure Real64Array : MONO_ARRAY = Real64Array
+structure Real64Vector : MONO_VECTOR = Real64Vector
+structure RealArray : MONO_ARRAY = RealArray
+structure RealVector : MONO_VECTOR = RealVector
+structure SysWord : WORD = SysWord
+structure Word1 : WORD = Word1
+structure Word10 : WORD = Word10
+structure Word11 : WORD = Word11
+structure Word12 : WORD = Word12
+structure Word13 : WORD = Word13
+structure Word14 : WORD = Word14
+structure Word15 : WORD = Word15
+structure Word16 : WORD = Word16
+structure Word16Array : MONO_ARRAY = Word16Array
+structure Word16Vector : MONO_VECTOR = Word16Vector
+structure Word17 : WORD = Word17
+structure Word18 : WORD = Word18
+structure Word19 : WORD = Word19
+structure Word2 : WORD = Word2
+structure Word20 : WORD = Word20
+structure Word21 : WORD = Word21
+structure Word22 : WORD = Word22
+structure Word23 : WORD = Word23
+structure Word24 : WORD = Word24
+structure Word25 : WORD = Word25
+structure Word26 : WORD = Word26
+structure Word27 : WORD = Word27
+structure Word28 : WORD = Word28
+structure Word29 : WORD = Word29
+structure Word3 : WORD = Word3
+structure Word30 : WORD = Word30
+structure Word31 : WORD = Word31
+structure Word32 : WORD = Word32
+structure Word32Array : MONO_ARRAY = Word32Array
+structure Word32Vector : MONO_VECTOR = Word32Vector
+structure Word4 : WORD = Word4
+structure Word5 : WORD = Word5
+structure Word6 : WORD = Word6
+structure Word64 : WORD = Word64
+structure Word64Array : MONO_ARRAY = Word64Array
+structure Word64Vector : MONO_VECTOR = Word64Vector
+structure Word7 : WORD = Word7
+structure Word9 : WORD = Word9
+structure WordArray : MONO_ARRAY = WordArray
+structure WordVector : MONO_VECTOR = WordVector
Property changes on: mltonlib/trunk/com/ssh/extended-basis/unstable/public/export-mlton.sml
___________________________________________________________________
Name: svn:eol-style
+ native
Added: mltonlib/trunk/com/ssh/extended-basis/unstable/public/export.sml
===================================================================
--- mltonlib/trunk/com/ssh/extended-basis/unstable/public/export.sml 2006-10-22 21:03:11 UTC (rev 4749)
+++ mltonlib/trunk/com/ssh/extended-basis/unstable/public/export.sml 2006-10-22 23:42:41 UTC (rev 4750)
@@ -0,0 +1,44 @@
+(* Copyright (C) 2006 SSH Communications Security, Helsinki, Finland
+ *
+ * MLton is released under a BSD-style license.
+ * See the file MLton-LICENSE for details.
+ *)
+
+(** == Implementation independent extensions == *)
+
+type ('a, 'b) emb = ('a, 'b) emb
+type ('a, 'b) iso = ('a, 'b) iso
+
+signature ARRAY = ARRAY
+signature CHAR = CHAR
+signature EMB = EMB
+signature INTEGER = INTEGER
+signature INT_INF = INT_INF
+signature ISO = ISO
+signature MONO_ARRAY = MONO_ARRAY
+signature MONO_VECTOR = MONO_VECTOR
+signature REAL = REAL
+signature STRING = STRING
+signature TEXT = TEXT
+signature VECTOR = VECTOR
+signature WORD = WORD
+
+structure Array : ARRAY = Array
+structure Char : CHAR = Char
+structure CharArray : MONO_ARRAY = CharArray
+structure CharVector : MONO_VECTOR = CharVector
+structure Emb : EMB = Emb
+structure Int : INTEGER = Int
+structure Iso : ISO = Iso
+structure LargeInt : INTEGER = LargeInt
+structure LargeReal : REAL = LargeReal
+structure LargeWord : WORD = LargeWord
+structure Position : INTEGER = Position
+structure Real : REAL = Real
+structure String : STRING = String
+structure Text : TEXT = Text
+structure Vector : VECTOR = Vector
+structure Word : WORD = Word
+structure Word8 : WORD = Word8
+structure Word8Array : MONO_ARRAY = Word8Array
+structure Word8Vector : MONO_VECTOR = Word8Vector
Property changes on: mltonlib/trunk/com/ssh/extended-basis/unstable/public/export.sml
___________________________________________________________________
Name: svn:eol-style
+ native
Copied: mltonlib/trunk/com/ssh/extended-basis/unstable/public/int-inf.sig (from rev 4742, mltonlib/trunk/com/ssh/extended-basis/unstable/int-inf.sig)
Copied: mltonlib/trunk/com/ssh/extended-basis/unstable/public/integer.sig (from rev 4742, mltonlib/trunk/com/ssh/extended-basis/unstable/integer.sig)
Copied: mltonlib/trunk/com/ssh/extended-basis/unstable/public/iso.sig (from rev 4742, mltonlib/trunk/com/ssh/extended-basis/unstable/iso.sig)
Copied: mltonlib/trunk/com/ssh/extended-basis/unstable/public/mono-array.sig (from rev 4741, mltonlib/trunk/com/ssh/extended-basis/unstable/mono-array.sig)
Copied: mltonlib/trunk/com/ssh/extended-basis/unstable/public/mono-vector.sig (from rev 4741, mltonlib/trunk/com/ssh/extended-basis/unstable/mono-vector.sig)
Copied: mltonlib/trunk/com/ssh/extended-basis/unstable/public/real.sig (from rev 4741, mltonlib/trunk/com/ssh/extended-basis/unstable/real.sig)
Copied: mltonlib/trunk/com/ssh/extended-basis/unstable/public/string.sig (from rev 4741, mltonlib/trunk/com/ssh/extended-basis/unstable/string.sig)
Copied: mltonlib/trunk/com/ssh/extended-basis/unstable/public/text.sig (from rev 4741, mltonlib/trunk/com/ssh/extended-basis/unstable/text.sig)
Copied: mltonlib/trunk/com/ssh/extended-basis/unstable/public/vector.sig (from rev 4741, mltonlib/trunk/com/ssh/extended-basis/unstable/vector.sig)
Copied: mltonlib/trunk/com/ssh/extended-basis/unstable/public/word.sig (from rev 4741, mltonlib/trunk/com/ssh/extended-basis/unstable/word.sig)
Deleted: mltonlib/trunk/com/ssh/extended-basis/unstable/real.sig
===================================================================
--- mltonlib/trunk/com/ssh/extended-basis/unstable/real.sig 2006-10-22 21:03:11 UTC (rev 4749)
+++ mltonlib/trunk/com/ssh/extended-basis/unstable/real.sig 2006-10-22 23:42:41 UTC (rev 4750)
@@ -1,24 +0,0 @@
-(* Copyright (C) 2006 SSH Communications Security, Helsinki, Finland
- *
- * MLton is released under a BSD-style license.
- * See the file MLton-LICENSE for details.
- *)
-
-(**
- * Extended {REAL} signature.
- *)
-signature REAL = sig
- include REAL
-
- (** == Embeddings == *)
-
- val embDecimal : (real, IEEEReal.decimal_approx) emb
- val embString : (real, string) emb
-
- (** == Isomorphisms == *)
-
- val isoInt : (real, Int.int) iso
- val isoLarge : (real, LargeReal.real) iso
- val isoLargeInt : (real, LargeInt.int) iso
- val isoManExp : (real, {man : real, exp : int}) iso
-end
Deleted: mltonlib/trunk/com/ssh/extended-basis/unstable/reals-mlton.sml
===================================================================
--- mltonlib/trunk/com/ssh/extended-basis/unstable/reals-mlton.sml 2006-10-22 21:03:11 UTC (rev 4749)
+++ mltonlib/trunk/com/ssh/extended-basis/unstable/reals-mlton.sml 2006-10-22 23:42:41 UTC (rev 4750)
@@ -1,14 +0,0 @@
-(* Copyright (C) 2006 SSH Communications Security, Helsinki, Finland
- *
- * MLton is released under a BSD-style license.
- * See the file MLton-LICENSE for details.
- *)
-
-(** == Extended {REAL} modules for MLton == *)
-
-structure Real : REAL = MkRealExt (Real)
-
-structure LargeReal : REAL = MkRealExt (LargeReal)
-
-structure Real32 : REAL = MkRealExt (Real32)
-structure Real64 : REAL = MkRealExt (Real64)
Deleted: mltonlib/trunk/com/ssh/extended-basis/unstable/string.sig
===================================================================
--- mltonlib/trunk/com/ssh/extended-basis/unstable/string.sig 2006-10-22 21:03:11 UTC (rev 4749)
+++ mltonlib/trunk/com/ssh/extended-basis/unstable/string.sig 2006-10-22 23:42:41 UTC (rev 4750)
@@ -1,60 +0,0 @@
-(* Copyright (C) 2006 SSH Communications Security, Helsinki, Finland
- *
- * MLton is released under a BSD-style license.
- * See the file MLton-LICENSE for details.
- *)
-
-(**
- * Extended {STRING} signature.
- *)
-signature STRING = sig
- include STRING
-
- (** == Embeddings == *)
-
- val embCString : (string, string) emb
- (**
- * An embedding of strings into C-style string literals. It is always
- * equivalent to {(toCString, fromCString)}.
- *)
-
- val embString : (string, string) emb
- (**
- * An embedding of strings into SML-style string literals. It is
- * always equivalent to {(toString, fromString)}.
- *)
-
- (** == Isomorphisms == *)
-
- val isoList : (string, char list) iso
- (**
- * An isomorphism between strings and lists. It is always equivalent
- * to {(toList, fromList)}.
- *)
-
- (** == {MONO_VECTOR} == *)
-
- type elem = char
- type vector = string
-
- val all : (elem -> bool) -> vector -> bool
- val app : (elem -> unit) -> vector -> unit
- val appi : (int * elem -> unit) -> vector -> unit
- val exists : (elem -> bool) -> vector -> bool
- val find : (elem -> bool) -> vector -> elem option
- val findi : (int * elem -> bool) -> vector -> (int * elem) option
- val foldl : (elem * 'a -> 'a) -> 'a -> vector -> 'a
- val foldli : (int * elem * 'a -> 'a) -> 'a -> vector -> 'a
- val foldr : (elem * 'a -> 'a) -> 'a -> vector -> 'a
- val foldri : (int * elem * 'a -> 'a) -> 'a -> vector -> 'a
- val fromList : elem list -> vector
- val fromPoly : elem Vector.vector -> vector
- val isoPoly : (vector, elem Vector.vector) iso
- val length : vector -> int
- val mapi : (int * elem -> elem) -> vector -> vector
- val maxLen : int
- val tabulate : int * (int -> elem) -> vector
- val toList : vector -> elem list
- val toPoly : vector -> elem Vector.vector
- val update : vector * int * elem -> vector
-end
Deleted: mltonlib/trunk/com/ssh/extended-basis/unstable/text.sig
===================================================================
--- mltonlib/trunk/com/ssh/extended-basis/unstable/text.sig 2006-10-22 21:03:11 UTC (rev 4749)
+++ mltonlib/trunk/com/ssh/extended-basis/unstable/text.sig 2006-10-22 23:42:41 UTC (rev 4750)
@@ -1,39 +0,0 @@
-(* Copyright (C) 2006 SSH Communications Security, Helsinki, Finland
- *
- * MLton is released under a BSD-style license.
- * See the file MLton-LICENSE for details.
- *)
-
-(**
- * Extended {TEXT} signature.
- *
- * This signature is just a restament of the {TEXT} signature using the
- * extended substructure signatures.
- *)
-signature TEXT = sig
- structure Char : CHAR
- structure CharArray : MONO_ARRAY
- structure CharArraySlice : MONO_ARRAY_SLICE
- structure CharVector : MONO_VECTOR
- structure CharVectorSlice : MONO_VECTOR_SLICE
- structure String : STRING
- structure Substring : SUBSTRING
- sharing type Char.char
- = CharArray.elem
- = CharArraySlice.elem
- = CharVector.elem
- = CharVectorSlice.elem
- = String.char
- = Substring.char
- sharing type Char.string
- = CharArray.vector
- = CharArraySlice.vector
- = CharVector.vector
- = CharVectorSlice.vector
- = String.string
- = Substring.string
- sharing type CharArray.array
- = CharArraySlice.array
- sharing type CharArraySlice.vector_slice
- = CharVectorSlice.slice
-end
Deleted: mltonlib/trunk/com/ssh/extended-basis/unstable/texts-mlton.sml
===================================================================
--- mltonlib/trunk/com/ssh/extended-basis/unstable/texts-mlton.sml 2006-10-22 21:03:11 UTC (rev 4749)
+++ mltonlib/trunk/com/ssh/extended-basis/unstable/texts-mlton.sml 2006-10-22 23:42:41 UTC (rev 4750)
@@ -1,13 +0,0 @@
-(* Copyright (C) 2006 SSH Communications Security, Helsinki, Finland
- *
- * MLton is released under a BSD-style license.
- * See the file MLton-LICENSE for details.
- *)
-
-(** == Extended {TEXT} modules for MLton == *)
-
-structure Text : TEXT = MkTextExt (Text)
-structure Char : CHAR = Text.Char
-structure CharArray : MONO_ARRAY = Text.CharArray
-structure CharVector : MONO_VECTOR = Text.CharVector
-structure String : STRING = Text.String
Deleted: mltonlib/trunk/com/ssh/extended-basis/unstable/vector.sig
===================================================================
--- mltonlib/trunk/com/ssh/extended-basis/unstable/vector.sig 2006-10-22 21:03:11 UTC (rev 4749)
+++ mltonlib/trunk/com/ssh/extended-basis/unstable/vector.sig 2006-10-22 23:42:41 UTC (rev 4750)
@@ -1,28 +0,0 @@
-(* Copyright (C) 2006 SSH Communications Security, Helsinki, Finland
- *
- * MLton is released under a BSD-style license.
- * See the file MLton-LICENSE for details.
- *)
-
-(**
- * Extended {VECTOR} signature.
- *)
-signature VECTOR = sig
- include VECTOR
-
- (** == Conversions == *)
-
- val toList : 'a vector -> 'a list
- (**
- * Generates a list from the given vector. Specifically, the result of
- * {toList v} is equivalent to {foldr op :: [] v}.
- *)
-
- (** == Isomorphisms == *)
-
- val isoList : ('a vector, 'a list) iso
- (**
- * An isomorphism between vectors and lists. It is always equivalent
- * to {(toList, fromList)}.
- *)
-end
Deleted: mltonlib/trunk/com/ssh/extended-basis/unstable/vector.sml
===================================================================
--- mltonlib/trunk/com/ssh/extended-basis/unstable/vector.sml 2006-10-22 21:03:11 UTC (rev 4749)
+++ mltonlib/trunk/com/ssh/extended-basis/unstable/vector.sml 2006-10-22 23:42:41 UTC (rev 4750)
@@ -1,14 +0,0 @@
-(* Copyright (C) 2006 SSH Communications Security, Helsinki, Finland
- *
- * MLton is released under a BSD-style license.
- * See the file MLton-LICENSE for details.
- *)
-
-(**
- * Extended {Vector :> VECTOR} structure.
- *)
-structure Vector : VECTOR = struct
- open Vector
- fun toList v = foldr op :: [] v
- val isoList = (toList, fromList)
-end
Deleted: mltonlib/trunk/com/ssh/extended-basis/unstable/word.sig
===================================================================
--- mltonlib/trunk/com/ssh/extended-basis/unstable/word.sig 2006-10-22 21:03:11 UTC (rev 4749)
+++ mltonlib/trunk/com/ssh/extended-basis/unstable/word.sig 2006-10-22 23:42:41 UTC (rev 4750)
@@ -1,44 +0,0 @@
-(* Copyright (C) 2006 SSH Communications Security, Helsinki, Finland
- *
- * MLton is released under a BSD-style license.
- * See the file MLton-LICENSE for details.
- *)
-
-(**
- * Extended {WORD} signature.
- *)
-signature WORD = sig
- include WORD
-
- (** == Bounds == *)
-
- val maxWord : word
- val minWord : word
-
- val bounds : word * word
-
- (** == Conversions == *)
-
- val fromWord : Word.word -> word
- val toWord : word -> Word.word
-
- (** == Embeddings == *)
-
- val embString : (word, string) emb
-
- (** == Isomorphisms == *)
-
- val isoInt : (word, Int.int) iso
- val isoIntX : (word, Int.int) iso
- val isoLarge : (word, LargeWord.word) iso
- val isoLargeInt : (word, LargeInt.int) iso
- val isoLargeIntX : (word, LargeInt.int) iso
- val isoLargeX : (word, LargeWord.word) iso
- val isoWord : (word, Word.word) iso
-
- (** == Predicates == *)
-
- val isEven : word -> bool
- val isOdd : word -> bool
- val isZero : word -> bool
-end
Deleted: mltonlib/trunk/com/ssh/extended-basis/unstable/words-mlton.sml
===================================================================
--- mltonlib/trunk/com/ssh/extended-basis/unstable/words-mlton.sml 2006-10-22 21:03:11 UTC (rev 4749)
+++ mltonlib/trunk/com/ssh/extended-basis/unstable/words-mlton.sml 2006-10-22 23:42:41 UTC (rev 4750)
@@ -1,46 +0,0 @@
-(* Copyright (C) 2006 SSH Communications Security, Helsinki, Finland
- *
- * MLton is released under a BSD-style license.
- * See the file MLton-LICENSE for details.
- *)
-
-(** == Extended {WORD} modules for MLton == *)
-
-structure Word : WORD = MkWordExt (Word)
-structure LargeWord : WORD = MkWordExt (LargeWord)
-structure SysWord : WORD = MkWordExt (SysWord)
-
-structure Word1 : WORD = MkWordExt (Word1)
-structure Word2 : WORD = MkWordExt (Word2)
-structure Word3 : WORD = MkWordExt (Word3)
-structure Word4 : WORD = MkWordExt (Word4)
-structure Word5 : WORD = MkWordExt (Word5)
-structure Word6 : WORD = MkWordExt (Word6)
-structure Word7 : WORD = MkWordExt (Word7)
-structure Word8 : WORD = MkWordExt (Word8)
-structure Word9 : WORD = MkWordExt (Word9)
-structure Word10 : WORD = MkWordExt (Word10)
-structure Word11 : WORD = MkWordExt (Word11)
-structure Word12 : WORD = MkWordExt (Word12)
-structure Word13 : WORD = MkWordExt (Word13)
-structure Word14 : WORD = MkWordExt (Word14)
-structure Word15 : WORD = MkWordExt (Word15)
-structure Word16 : WORD = MkWordExt (Word16)
-structure Word17 : WORD = MkWordExt (Word17)
-structure Word18 : WORD = MkWordExt (Word18)
-structure Word19 : WORD = MkWordExt (Word19)
-structure Word20 : WORD = MkWordExt (Word20)
-structure Word21 : WORD = MkWordExt (Word21)
-structure Word22 : WORD = MkWordExt (Word22)
-structure Word23 : WORD = MkWordExt (Word23)
-structure Word24 : WORD = MkWordExt (Word24)
-structure Word25 : WORD = MkWordExt (Word25)
-structure Word26 : WORD = MkWordExt (Word26)
-structure Word27 : WORD = MkWordExt (Word27)
-structure Word28 : WORD = MkWordExt (Word28)
-structure Word29 : WORD = MkWordExt (Word29)
-structure Word30 : WORD = MkWordExt (Word30)
-structure Word31 : WORD = MkWordExt (Word31)
-structure Word32 : WORD = MkWordExt (Word32)
-
-structure Word64 : WORD = MkWordExt (Word64)
More information about the MLton-commit
mailing list