[MLton-commit] r4781

Vesa Karvonen vesak at mlton.org
Thu Oct 26 12:48:13 PDT 2006


Incomplete support for Poly/ML; build files are still missing.

----------------------------------------------------------------------

A   mltonlib/trunk/com/ssh/extended-basis/unstable/detail/polyml/
A   mltonlib/trunk/com/ssh/extended-basis/unstable/detail/polyml/ints.sml
A   mltonlib/trunk/com/ssh/extended-basis/unstable/detail/polyml/mono-arrays.sml
A   mltonlib/trunk/com/ssh/extended-basis/unstable/detail/polyml/mono-vectors.sml
A   mltonlib/trunk/com/ssh/extended-basis/unstable/detail/polyml/reals.sml
A   mltonlib/trunk/com/ssh/extended-basis/unstable/detail/polyml/texts.sml
A   mltonlib/trunk/com/ssh/extended-basis/unstable/detail/polyml/words.sml
A   mltonlib/trunk/com/ssh/extended-basis/unstable/detail/polyml/workarounds/
A   mltonlib/trunk/com/ssh/extended-basis/unstable/detail/polyml/workarounds/mk-real-sane.fun
A   mltonlib/trunk/com/ssh/extended-basis/unstable/detail/polyml/workarounds/real.sig
A   mltonlib/trunk/com/ssh/extended-basis/unstable/detail/polyml/workarounds/reals.sml
A   mltonlib/trunk/com/ssh/extended-basis/unstable/public/export-polyml.sml

----------------------------------------------------------------------

Copied: mltonlib/trunk/com/ssh/extended-basis/unstable/detail/polyml/ints.sml (from rev 4774, mltonlib/trunk/com/ssh/extended-basis/unstable/detail/mlton/ints.sml)
===================================================================
--- mltonlib/trunk/com/ssh/extended-basis/unstable/detail/mlton/ints.sml	2006-10-25 15:18:52 UTC (rev 4774)
+++ mltonlib/trunk/com/ssh/extended-basis/unstable/detail/polyml/ints.sml	2006-10-26 19:47:04 UTC (rev 4781)
@@ -0,0 +1,13 @@
+(* 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 Poly/ML == *)
+
+structure Int      : INTEGER = MkIntegerExt (Int)
+structure LargeInt : INTEGER = MkIntegerExt (LargeInt)
+structure Position : INTEGER = MkIntegerExt (Position)
+
+structure IntInf : INT_INF = MkIntInfExt (IntInf)

Copied: mltonlib/trunk/com/ssh/extended-basis/unstable/detail/polyml/mono-arrays.sml (from rev 4774, mltonlib/trunk/com/ssh/extended-basis/unstable/detail/mlton/mono-arrays.sml)
===================================================================
--- mltonlib/trunk/com/ssh/extended-basis/unstable/detail/mlton/mono-arrays.sml	2006-10-25 15:18:52 UTC (rev 4774)
+++ mltonlib/trunk/com/ssh/extended-basis/unstable/detail/polyml/mono-arrays.sml	2006-10-26 19:47:04 UTC (rev 4781)
@@ -0,0 +1,23 @@
+(* 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 Poly/ML == *)
+
+structure BoolArray : MONO_ARRAY =
+   MkMonoArrayExt (structure MonoArray = BoolArray
+                   structure MonoVector = BoolVector)
+
+structure IntArray : MONO_ARRAY =
+   MkMonoArrayExt (structure MonoArray = IntArray
+                   structure MonoVector = IntVector)
+
+structure RealArray : MONO_ARRAY =
+   MkMonoArrayExt (structure MonoArray = RealArray
+                   structure MonoVector = RealVector)
+
+structure Word8Array : MONO_ARRAY =
+   MkMonoArrayExt (structure MonoArray = Word8Array
+                   structure MonoVector = Word8Vector)

Copied: mltonlib/trunk/com/ssh/extended-basis/unstable/detail/polyml/mono-vectors.sml (from rev 4774, mltonlib/trunk/com/ssh/extended-basis/unstable/detail/mlton/mono-vectors.sml)
===================================================================
--- mltonlib/trunk/com/ssh/extended-basis/unstable/detail/mlton/mono-vectors.sml	2006-10-25 15:18:52 UTC (rev 4774)
+++ mltonlib/trunk/com/ssh/extended-basis/unstable/detail/polyml/mono-vectors.sml	2006-10-26 19:47:04 UTC (rev 4781)
@@ -0,0 +1,12 @@
+(* 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 Poly/ML == *)
+
+structure BoolVector  : MONO_VECTOR = MkMonoVectorExt (BoolVector)
+structure IntVector   : MONO_VECTOR = MkMonoVectorExt (IntVector)
+structure RealVector  : MONO_VECTOR = MkMonoVectorExt (RealVector)
+structure Word8Vector : MONO_VECTOR = MkMonoVectorExt (Word8Vector)

Copied: mltonlib/trunk/com/ssh/extended-basis/unstable/detail/polyml/reals.sml (from rev 4774, mltonlib/trunk/com/ssh/extended-basis/unstable/detail/mlton/reals.sml)
===================================================================
--- mltonlib/trunk/com/ssh/extended-basis/unstable/detail/mlton/reals.sml	2006-10-25 15:18:52 UTC (rev 4774)
+++ mltonlib/trunk/com/ssh/extended-basis/unstable/detail/polyml/reals.sml	2006-10-26 19:47:04 UTC (rev 4781)
@@ -0,0 +1,10 @@
+(* 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 Poly/ML == *)
+
+structure Real      : REAL = MkRealExt (Real)
+structure LargeReal : REAL = MkRealExt (LargeReal)

Copied: mltonlib/trunk/com/ssh/extended-basis/unstable/detail/polyml/texts.sml (from rev 4774, mltonlib/trunk/com/ssh/extended-basis/unstable/detail/mlton/texts.sml)
===================================================================
--- mltonlib/trunk/com/ssh/extended-basis/unstable/detail/mlton/texts.sml	2006-10-25 15:18:52 UTC (rev 4774)
+++ mltonlib/trunk/com/ssh/extended-basis/unstable/detail/polyml/texts.sml	2006-10-26 19:47:04 UTC (rev 4781)
@@ -0,0 +1,13 @@
+(* 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 Poly/ML == *)
+
+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

Copied: mltonlib/trunk/com/ssh/extended-basis/unstable/detail/polyml/words.sml (from rev 4774, mltonlib/trunk/com/ssh/extended-basis/unstable/detail/mlton/words.sml)
===================================================================
--- mltonlib/trunk/com/ssh/extended-basis/unstable/detail/mlton/words.sml	2006-10-25 15:18:52 UTC (rev 4774)
+++ mltonlib/trunk/com/ssh/extended-basis/unstable/detail/polyml/words.sml	2006-10-26 19:47:04 UTC (rev 4781)
@@ -0,0 +1,12 @@
+(* 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 Poly/ML == *)
+
+structure Word      : WORD = MkWordExt (Word)
+structure LargeWord : WORD = MkWordExt (LargeWord)
+structure SysWord   : WORD = MkWordExt (SysWord)
+structure Word8     : WORD = MkWordExt (Word8)

Copied: mltonlib/trunk/com/ssh/extended-basis/unstable/detail/polyml/workarounds/mk-real-sane.fun (from rev 4774, mltonlib/trunk/com/ssh/extended-basis/unstable/detail/smlnj/workarounds/mk-real-sane.fun)

Copied: mltonlib/trunk/com/ssh/extended-basis/unstable/detail/polyml/workarounds/real.sig (from rev 4774, mltonlib/trunk/com/ssh/extended-basis/unstable/detail/smlnj/workarounds/real.sig)
===================================================================
--- mltonlib/trunk/com/ssh/extended-basis/unstable/detail/smlnj/workarounds/real.sig	2006-10-25 15:18:52 UTC (rev 4774)
+++ mltonlib/trunk/com/ssh/extended-basis/unstable/detail/polyml/workarounds/real.sig	2006-10-26 19:47:04 UTC (rev 4781)
@@ -0,0 +1,75 @@
+(* Copyright (C) 2006 SSH Communications Security, Helsinki, Finland
+ *
+ * MLton is released under a BSD-style license.
+ * See the file MLton-LICENSE for details.
+ *)
+
+signature REAL = sig
+   type real
+
+   structure Math : MATH where type real = real
+
+   val round : real -> Int.int
+   val trunc : real -> Int.int
+   val ceil : real -> Int.int
+   val floor : real -> Int.int
+
+   val != : real * real -> bool
+   val * : real * real -> real
+   val *+ : real * real * real -> real
+   val *- : real * real * real -> real
+   val + : real * real -> real
+   val - : real * real -> real
+   val / : real * real -> real
+   val <  : real * real -> bool
+   val <= : real * real -> bool
+   val == : real * real -> bool
+   val >  : real * real -> bool
+   val >= : real * real -> bool
+   val ?= : real * real -> bool
+   val ~ : real -> real
+   val abs : real -> real
+   val checkFloat : real -> real
+   val class : real -> IEEEReal.float_class
+   val compare : real * real -> order
+   val compareReal : real * real -> IEEEReal.real_order
+   val copySign : real * real -> real
+   val fmt : StringCvt.realfmt -> real -> string
+   val fromDecimal : IEEEReal.decimal_approx -> real option
+   val fromDecimal' : IEEEReal.decimal_approx -> real
+   val fromInt : int -> real
+   val fromLarge : IEEEReal.rounding_mode -> LargeReal.real -> real
+   val fromLargeInt : LargeInt.int -> real
+   val fromManExp : {man : real, exp : int} -> real
+   val fromString : string -> real option
+   val isFinite : real -> bool
+   val isNan : real -> bool
+   val isNormal : real -> bool
+   val max : real * real -> real
+   val maxFinite : real
+   val min : real * real -> real
+   val minNormalPos : real
+   val minPos : real
+   val negInf : real
+   val nextAfter : real * real -> real
+   val posInf : real
+   val precision : int
+   val radix : int
+   val realCeil : real -> real
+   val realFloor : real -> real
+   val realMod : real -> real
+   val realTrunc : real -> real
+   val rem : real * real -> real
+   val sameSign : real * real -> bool
+   val scan : (char, 'a) StringCvt.reader -> (real, 'a) StringCvt.reader
+   val sign : real -> int
+   val signBit : real -> bool
+   val split : real -> {whole : real, frac : real}
+   val toDecimal : real -> IEEEReal.decimal_approx
+   val toInt : IEEEReal.rounding_mode -> real -> int
+   val toLarge : real -> LargeReal.real
+   val toLargeInt : IEEEReal.rounding_mode -> real -> LargeInt.int
+   val toManExp : real -> {man : real, exp : int}
+   val toString : real -> string
+   val unordered : real * real -> bool
+end

Copied: mltonlib/trunk/com/ssh/extended-basis/unstable/detail/polyml/workarounds/reals.sml (from rev 4774, mltonlib/trunk/com/ssh/extended-basis/unstable/detail/smlnj/workarounds/reals.sml)
===================================================================
--- mltonlib/trunk/com/ssh/extended-basis/unstable/detail/smlnj/workarounds/reals.sml	2006-10-25 15:18:52 UTC (rev 4774)
+++ mltonlib/trunk/com/ssh/extended-basis/unstable/detail/polyml/workarounds/reals.sml	2006-10-26 19:47:04 UTC (rev 4781)
@@ -0,0 +1,8 @@
+(* Copyright (C) 2006 SSH Communications Security, Helsinki, Finland
+ *
+ * MLton is released under a BSD-style license.
+ * See the file MLton-LICENSE for details.
+ *)
+
+structure Real      : REAL = MkRealSane (Real)
+structure LargeReal : REAL = MkRealSane (LargeReal)

Copied: mltonlib/trunk/com/ssh/extended-basis/unstable/public/export-polyml.sml (from rev 4774, mltonlib/trunk/com/ssh/extended-basis/unstable/public/export-mlton.sml)
===================================================================
--- mltonlib/trunk/com/ssh/extended-basis/unstable/public/export-mlton.sml	2006-10-25 15:18:52 UTC (rev 4774)
+++ mltonlib/trunk/com/ssh/extended-basis/unstable/public/export-polyml.sml	2006-10-26 19:47:04 UTC (rev 4781)
@@ -0,0 +1,16 @@
+(* Copyright (C) 2006 SSH Communications Security, Helsinki, Finland
+ *
+ * MLton is released under a BSD-style license.
+ * See the file MLton-LICENSE for details.
+ *)
+
+(** == Poly/ML specific extensions == *)
+
+structure BoolArray : MONO_ARRAY = BoolArray
+structure BoolVector : MONO_VECTOR = BoolVector
+structure IntArray : MONO_ARRAY = IntArray
+structure IntVector : MONO_VECTOR = IntVector
+structure RealArray : MONO_ARRAY = RealArray
+structure RealVector : MONO_VECTOR = RealVector
+structure SysWord : WORD = SysWord
+structure Word8Vector : MONO_VECTOR = Word8Vector




More information about the MLton-commit mailing list