You can subscribe to this list here.
| 2005 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
(56) |
Sep
(40) |
Oct
(30) |
Nov
(144) |
Dec
(23) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2006 |
Jan
(41) |
Feb
(29) |
Mar
(31) |
Apr
(39) |
May
(193) |
Jun
(45) |
Jul
(19) |
Aug
(3) |
Sep
(23) |
Oct
(83) |
Nov
(92) |
Dec
(123) |
| 2007 |
Jan
(90) |
Feb
(267) |
Mar
(120) |
Apr
(51) |
May
(40) |
Jun
(121) |
Jul
(109) |
Aug
(173) |
Sep
(77) |
Oct
(52) |
Nov
(121) |
Dec
(62) |
| 2008 |
Jan
(76) |
Feb
(53) |
Mar
(98) |
Apr
(87) |
May
(26) |
Jun
(27) |
Jul
(23) |
Aug
(136) |
Sep
(79) |
Oct
(68) |
Nov
(29) |
Dec
(14) |
| 2009 |
Jan
(7) |
Feb
(2) |
Mar
(11) |
Apr
(75) |
May
(1) |
Jun
(95) |
Jul
(19) |
Aug
(4) |
Sep
(8) |
Oct
(93) |
Nov
(43) |
Dec
(21) |
| 2010 |
Jan
(20) |
Feb
(23) |
Mar
(18) |
Apr
(6) |
May
(20) |
Jun
(23) |
Jul
(1) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
| 2011 |
Jan
(2) |
Feb
(6) |
Mar
(15) |
Apr
(5) |
May
(9) |
Jun
(14) |
Jul
(9) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
| 2012 |
Jan
|
Feb
(3) |
Mar
|
Apr
|
May
(2) |
Jun
(17) |
Jul
(37) |
Aug
|
Sep
(1) |
Oct
(6) |
Nov
|
Dec
|
| 2013 |
Jan
|
Feb
|
Mar
(5) |
Apr
(2) |
May
(7) |
Jun
(11) |
Jul
(8) |
Aug
|
Sep
(1) |
Oct
(2) |
Nov
|
Dec
|
| 2014 |
Jan
|
Feb
(2) |
Mar
(1) |
Apr
|
May
(1) |
Jun
(1) |
Jul
(7) |
Aug
(2) |
Sep
|
Oct
(5) |
Nov
(2) |
Dec
(4) |
| 2015 |
Jan
|
Feb
(2) |
Mar
(2) |
Apr
|
May
|
Jun
(9) |
Jul
(1) |
Aug
|
Sep
|
Oct
(4) |
Nov
(1) |
Dec
|
| 2016 |
Jan
(2) |
Feb
(1) |
Mar
(1) |
Apr
(1) |
May
(1) |
Jun
(2) |
Jul
(1) |
Aug
|
Sep
(5) |
Oct
|
Nov
|
Dec
|
| 2017 |
Jan
(1) |
Feb
(3) |
Mar
(3) |
Apr
(7) |
May
(2) |
Jun
(2) |
Jul
(5) |
Aug
(1) |
Sep
(2) |
Oct
(17) |
Nov
(4) |
Dec
(7) |
| 2018 |
Jan
(5) |
Feb
(14) |
Mar
(2) |
Apr
(5) |
May
(2) |
Jun
(5) |
Jul
|
Aug
(2) |
Sep
|
Oct
(3) |
Nov
(5) |
Dec
|
| 2019 |
Jan
(4) |
Feb
(2) |
Mar
(3) |
Apr
(1) |
May
(8) |
Jun
(14) |
Jul
(2) |
Aug
|
Sep
(2) |
Oct
(2) |
Nov
(15) |
Dec
(2) |
| 2020 |
Jan
(10) |
Feb
(3) |
Mar
(1) |
Apr
|
May
(9) |
Jun
(4) |
Jul
(16) |
Aug
(10) |
Sep
(4) |
Oct
(3) |
Nov
|
Dec
|
| 2021 |
Jan
(11) |
Feb
(2) |
Mar
(2) |
Apr
|
May
|
Jun
(1) |
Jul
|
Aug
(5) |
Sep
|
Oct
(6) |
Nov
(4) |
Dec
(4) |
| 2022 |
Jan
(4) |
Feb
(2) |
Mar
(2) |
Apr
|
May
(6) |
Jun
(3) |
Jul
|
Aug
(1) |
Sep
|
Oct
|
Nov
(1) |
Dec
|
| 2023 |
Jan
|
Feb
|
Mar
|
Apr
(2) |
May
(5) |
Jun
(1) |
Jul
(4) |
Aug
(1) |
Sep
|
Oct
(1) |
Nov
(13) |
Dec
|
| 2024 |
Jan
(1) |
Feb
|
Mar
(5) |
Apr
|
May
(10) |
Jun
|
Jul
|
Aug
(3) |
Sep
|
Oct
|
Nov
(1) |
Dec
(14) |
| 2025 |
Jan
(3) |
Feb
|
Mar
(1) |
Apr
|
May
(2) |
Jun
(3) |
Jul
|
Aug
|
Sep
(2) |
Oct
(3) |
Nov
|
Dec
|
|
From: Vesa K. <ve...@ml...> - 2006-12-10 11:12:24
|
Reorganized public files. ---------------------------------------------------------------------- D mltonlib/trunk/com/ssh/extended-basis/unstable/public/pair.sig ---------------------------------------------------------------------- Deleted: mltonlib/trunk/com/ssh/extended-basis/unstable/public/pair.sig =================================================================== --- mltonlib/trunk/com/ssh/extended-basis/unstable/public/pair.sig 2006-12-10 19:12:19 UTC (rev 4937) +++ mltonlib/trunk/com/ssh/extended-basis/unstable/public/pair.sig 2006-12-10 19:12:24 UTC (rev 4938) @@ -1,12 +0,0 @@ -(* Copyright (C) 2006 SSH Communications Security, Helsinki, Finland - * - * This code is released under the MLton license, a BSD-style license. - * See the LICENSE file or http://mlton.org/License for details. - *) - -signature PAIR = sig - type ('a, 'b) pair = 'a * 'b - - include PRODUCT_TYPE - where type ('a, 'b) t = ('a, 'b) pair -end |
|
From: Vesa K. <ve...@ml...> - 2006-12-10 11:12:19
|
Reorganized public files. ---------------------------------------------------------------------- D mltonlib/trunk/com/ssh/extended-basis/unstable/public/bool.sig ---------------------------------------------------------------------- Deleted: mltonlib/trunk/com/ssh/extended-basis/unstable/public/bool.sig =================================================================== --- mltonlib/trunk/com/ssh/extended-basis/unstable/public/bool.sig 2006-12-10 19:12:05 UTC (rev 4936) +++ mltonlib/trunk/com/ssh/extended-basis/unstable/public/bool.sig 2006-12-10 19:12:19 UTC (rev 4937) @@ -1,25 +0,0 @@ -(* Copyright (C) 2006 SSH Communications Security, Helsinki, Finland - * - * This code is released under the MLton license, a BSD-style license. - * See the LICENSE file or http://mlton.org/License for details. - *) - -(** Extended {BOOL} signature. *) -signature BOOL = sig - include BOOL - - type t = bool - (** Convenience alias. *) - - val isTrue : t UnPr.t - (** {isTrue x = x = true} *) - - val isFalse : t UnPr.t - (** {isFalse x = x = false} *) - - val equal : t BinPr.t - (** Equivalent to {op =}. *) - - val compare : t Cmp.t - (** An ordering on booleans. {false} is defined less than {true}. *) -end |
|
From: Vesa K. <ve...@ml...> - 2006-12-10 11:12:06
|
Reorganized public files. ---------------------------------------------------------------------- D mltonlib/trunk/com/ssh/extended-basis/unstable/public/export.sml ---------------------------------------------------------------------- Deleted: mltonlib/trunk/com/ssh/extended-basis/unstable/public/export.sml =================================================================== --- mltonlib/trunk/com/ssh/extended-basis/unstable/public/export.sml 2006-12-10 19:11:57 UTC (rev 4935) +++ mltonlib/trunk/com/ssh/extended-basis/unstable/public/export.sml 2006-12-10 19:12:05 UTC (rev 4936) @@ -1,113 +0,0 @@ -(* Copyright (C) 2006 SSH Communications Security, Helsinki, Finland - * - * This code is released under the MLton license, a BSD-style license. - * See the LICENSE file or http://mlton.org/License for details. - *) - -(** == Implementation independent extensions == *) - -signature ARRAY = ARRAY -signature ARRAY_SLICE = ARRAY_SLICE -signature BIN_OP = BIN_OP -signature BIN_PR = BIN_PR -signature BOOL = BOOL -signature BUFFER = BUFFER -signature CHAR = CHAR -signature CMP = CMP -signature EFFECT = EFFECT -signature EMB = EMB -signature EXIT = EXIT -signature EXN = EXN -signature FIX = FIX -signature FN = FN -signature INTEGER = INTEGER -signature INT_INF = INT_INF -signature ISO = ISO -signature ISO = ISO -signature LIST = LIST -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 ORDER = ORDER -signature PAIR = PAIR -signature PRODUCT = PRODUCT -signature PRODUCT_TYPE = PRODUCT_TYPE -signature PROMISE = PROMISE -signature READER = READER -signature REAL = REAL -signature REF = REF -signature SQ = SQ -signature STRING = STRING -signature SUBSTRING = SUBSTRING -signature SUM = SUM -signature TEXT = TEXT -signature THUNK = THUNK -signature TIE = TIE -signature UNIT = UNIT -signature UNIV = UNIV -signature UN_OP = UN_OP -signature UN_PR = UN_PR -signature VECTOR = VECTOR -signature VECTOR_SLICE = VECTOR_SLICE -signature WITH = WITH -signature WORD = WORD -signature WRITER = WRITER - -structure Univ : UNIV = Univ -structure Vector : VECTOR = Vector -structure Writer : WRITER = Writer -structure With : WITH = With - -structure Array : ARRAY = Array -structure ArraySlice : ARRAY_SLICE = ArraySlice -structure BinOp : BIN_OP = BinOp -structure BinPr : BIN_PR = BinPr -structure Bool : BOOL = Bool -structure Buffer : BUFFER = Buffer -structure Char : CHAR = Char -structure CharArray : MONO_ARRAY = CharArray -structure CharArraySlice : MONO_ARRAY_SLICE = CharArraySlice -structure CharVector : MONO_VECTOR = CharVector -structure CharVectorSlice : MONO_VECTOR_SLICE = CharVectorSlice -structure Cmp : CMP = Cmp -structure Effect : EFFECT = Effect -structure Emb : EMB = Emb -structure Exit : EXIT = Exit -structure Exn : EXN = Exn -structure Fix : FIX = Fix -structure Fn : FN = Fn -structure Int : INTEGER = Int -structure Iso : ISO = Iso -structure Iso : ISO = Iso -structure LargeInt : INTEGER = LargeInt -structure LargeReal : REAL = LargeReal -structure LargeWord : WORD = LargeWord -structure List : LIST = List -structure Option : OPTION = Option -structure Order : ORDER = Order -structure Pair : PAIR = Pair -structure Position : INTEGER = Position -structure Product : PRODUCT = Product -structure Promise : PROMISE = Promise -structure Reader : READER = Reader -structure Real : REAL = Real -structure Ref : REF where type 'a t = 'a ref = Ref -structure Sq : SQ = Sq -structure String : STRING = String -structure Substring : SUBSTRING = Substring -structure Sum : SUM = Sum -structure Text : TEXT = Text -structure Thunk : THUNK = Thunk -structure Tie : TIE = Tie -structure UnOp : UN_OP = UnOp -structure UnPr : UN_PR = UnPr -structure Unit : UNIT = Unit -structure VectorSlice : VECTOR_SLICE = VectorSlice -structure Word : WORD = Word -structure Word8 : WORD = Word8 -structure Word8Array : MONO_ARRAY = Word8Array -structure Word8ArraySlice : MONO_ARRAY_SLICE = Word8ArraySlice -structure Word8Vector : MONO_VECTOR = Word8Vector -structure Word8VectorSlice : MONO_VECTOR_SLICE = Word8VectorSlice |
|
From: Vesa K. <ve...@ml...> - 2006-12-10 11:11:58
|
Reorganized public files. ---------------------------------------------------------------------- D mltonlib/trunk/com/ssh/extended-basis/unstable/public/exn.sig ---------------------------------------------------------------------- Deleted: mltonlib/trunk/com/ssh/extended-basis/unstable/public/exn.sig =================================================================== --- mltonlib/trunk/com/ssh/extended-basis/unstable/public/exn.sig 2006-12-10 19:11:52 UTC (rev 4934) +++ mltonlib/trunk/com/ssh/extended-basis/unstable/public/exn.sig 2006-12-10 19:11:57 UTC (rev 4935) @@ -1,58 +0,0 @@ -(* Copyright (C) 2006 SSH Communications Security, Helsinki, Finland - * - * This code is released under the MLton license, a BSD-style license. - * See the LICENSE file or http://mlton.org/License for details. - *) - -(** Utilities for dealing with exceptions. *) -signature EXN = sig - type t = exn - (** Convenience alias. *) - - (** == Exception Handling == *) - - val apply : ('a -> 'b) -> 'a -> (t, 'b) Sum.t - (** Perform an application ({apply f x = INR (f x) handle e => INL e}). *) - - val eval : 'a Thunk.t -> (t, 'a) Sum.t - (** Evaluate a thunk ({eval th = INR (th ()) handle e => INL e}). *) - - val finally : 'a Thunk.t * Unit.t Effect.t -> 'a - (** {finally (th, ef) = try (th, past ef, throw o past ef)}. *) - - val throw : t -> 'a - (** Raise exception ({throw exn = raise exn}). *) - - val try : 'a Thunk.t * ('a -> 'b) * (t -> 'b) -> 'b - (** - * Try-in-unless ({try (th, fv, fe) = sum (fv, fe) (eval th)}). {try} - * facilitates fine control over exception handling. {try} implements - * the try-in-unless construct of Benton and Kennedy. - *) - - (** == Examining Exceptions == *) - - val addMessager : (t -> String.t Option.t) Effect.t - (** - * Adds a pretty-printer to be used by {message} for converting - * exceptions to strings. Messagers are tried in order from most - * recently added to least recently added. - *) - - val message : t -> String.t - (** Same as {General.exnMessage}. *) - - val name : t -> String.t - (** Same as {General.exnName}. *) - - val history : t -> String.t List.t - (** - * Returns call stack at the point that the exception was first raised. - * Each element of the list is a file position. The elements are in - * reverse chronological order, i.e. the function called last is at the - * front of the list. - * - * {history} will likely return {[]} unless the program is compiled - * with a compiler dependent option to support exception history. - *) -end |
|
From: Vesa K. <ve...@ml...> - 2006-12-10 11:11:52
|
Reorganized public files. ---------------------------------------------------------------------- D mltonlib/trunk/com/ssh/extended-basis/unstable/public/bin-pr.sig ---------------------------------------------------------------------- Deleted: mltonlib/trunk/com/ssh/extended-basis/unstable/public/bin-pr.sig =================================================================== --- mltonlib/trunk/com/ssh/extended-basis/unstable/public/bin-pr.sig 2006-12-10 19:11:47 UTC (rev 4933) +++ mltonlib/trunk/com/ssh/extended-basis/unstable/public/bin-pr.sig 2006-12-10 19:11:52 UTC (rev 4934) @@ -1,11 +0,0 @@ -(* Copyright (C) 2006 SSH Communications Security, Helsinki, Finland - * - * This code is released under the MLton license, a BSD-style license. - * See the LICENSE file or http://mlton.org/License for details. - *) - -(** Utilities for dealing with binary predicates. *) -signature BIN_PR = sig - type 'a t = 'a Sq.t UnPr.t - (** Type of binary predicates or relations (e.g. {<, <=, >=, >, ...}). *) -end |
|
From: Vesa K. <ve...@ml...> - 2006-12-10 11:11:47
|
Reorganized public files. ---------------------------------------------------------------------- D mltonlib/trunk/com/ssh/extended-basis/unstable/public/text.sig ---------------------------------------------------------------------- Deleted: mltonlib/trunk/com/ssh/extended-basis/unstable/public/text.sig =================================================================== --- mltonlib/trunk/com/ssh/extended-basis/unstable/public/text.sig 2006-12-10 19:11:32 UTC (rev 4932) +++ mltonlib/trunk/com/ssh/extended-basis/unstable/public/text.sig 2006-12-10 19:11:47 UTC (rev 4933) @@ -1,39 +0,0 @@ -(* Copyright (C) 2006 SSH Communications Security, Helsinki, Finland - * - * This code is released under the MLton license, a BSD-style license. - * See the LICENSE file or http://mlton.org/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 |
|
From: Vesa K. <ve...@ml...> - 2006-12-10 11:11:35
|
Reorganized public files. ---------------------------------------------------------------------- D mltonlib/trunk/com/ssh/extended-basis/unstable/public/real.sig ---------------------------------------------------------------------- Deleted: mltonlib/trunk/com/ssh/extended-basis/unstable/public/real.sig =================================================================== --- mltonlib/trunk/com/ssh/extended-basis/unstable/public/real.sig 2006-12-10 19:11:26 UTC (rev 4931) +++ mltonlib/trunk/com/ssh/extended-basis/unstable/public/real.sig 2006-12-10 19:11:32 UTC (rev 4932) @@ -1,62 +0,0 @@ -(* Copyright (C) 2006 SSH Communications Security, Helsinki, Finland - * - * This code is released under the MLton license, a BSD-style license. - * See the LICENSE file or http://mlton.org/License for details. - *) - -(** Extended {REAL} signature. *) -signature REAL = sig - include REAL - - type t = real - (** Convenience alias. *) - - (** == Embeddings == *) - - val embDecimal : (t, IEEEReal.decimal_approx) Emb.t - (** - * An embedding of reals into decimal approximations. It is always - * equivalent to {(toDecimal, fromDecimal)}. - *) - - val embString : (t, String.t) Emb.t - (** - * An embedding of reals into strings. It is always equivalent to - * {(toString, fromString)}. - *) - - (** == Isomorphisms == *) - - val isoInt : IEEEReal.rounding_mode -> (t, Int.t) Iso.t - (** - * Returns an isomorphism between integers of type {Int.t} and reals - * given a rounding mode. Specifically, the result of {isoInt mode} is - * equivalent to {(toInt mode, fromInt)}. Note that the result isn't - * an isomorphism in the mathematical sense. - *) - - val isoLarge : IEEEReal.rounding_mode -> (t, LargeReal.t) Iso.t - (** - * Returns an isomorphism between reals of type {LargeReal.t} and - * reals of type {real} given a rounding mode. Specifically, the - * result of {isoLarge mode} is equivalent to {(toLarge, fromLarge - * mode)}. Note that the result isn't an isomorphism in the - * mathematical sense. - *) - - val isoLargeInt : IEEEReal.rounding_mode -> (t, LargeInt.t) Iso.t - (** - * Returns an isomorphism between integers of type {LargeInt.t} and - * reals given a rounding mode. Specifically, the result of - * {isoLargeInt mode} is equivalent to {(toLargeInt mode, - * fromLargeInt)}. Note that the result isn't an isomorphism in the - * mathematical sense. - *) - - val isoManExp : (t, {man : t, exp : Int.t}) Iso.t - (** - * An isomorphism between reals and their representation as a mantissa - * and an exponent. It is always equivalent to {(toManExp, - * fromManExp)}. - *) -end |
|
From: Vesa K. <ve...@ml...> - 2006-12-10 11:11:27
|
Reorganized public files. ---------------------------------------------------------------------- D mltonlib/trunk/com/ssh/extended-basis/unstable/public/sq.sig ---------------------------------------------------------------------- Deleted: mltonlib/trunk/com/ssh/extended-basis/unstable/public/sq.sig =================================================================== --- mltonlib/trunk/com/ssh/extended-basis/unstable/public/sq.sig 2006-12-10 19:11:12 UTC (rev 4930) +++ mltonlib/trunk/com/ssh/extended-basis/unstable/public/sq.sig 2006-12-10 19:11:26 UTC (rev 4931) @@ -1,20 +0,0 @@ -(* Copyright (C) 2006 SSH Communications Security, Helsinki, Finland - * - * This code is released under the MLton license, a BSD-style license. - * See the LICENSE file or http://mlton.org/License for details. - *) - -(** - * Utilities for dealing with "squares", that is, pairs whose both - * elements are of the same type. - *) -signature SQ = sig - type 'a t = 'a * 'a - (** The type of "squares". *) - - val mk : 'a -> 'a t - (** {mk x = (x, x)}. *) - - val map : ('a -> 'b) -> 'a t -> 'b t - (** {map f (x, y) = (f x, f y)}. *) -end |
|
From: Vesa K. <ve...@ml...> - 2006-12-10 11:11:12
|
Reorganized public files. ---------------------------------------------------------------------- D mltonlib/trunk/com/ssh/extended-basis/unstable/public/univ.sig ---------------------------------------------------------------------- Deleted: mltonlib/trunk/com/ssh/extended-basis/unstable/public/univ.sig =================================================================== --- mltonlib/trunk/com/ssh/extended-basis/unstable/public/univ.sig 2006-12-10 19:11:07 UTC (rev 4929) +++ mltonlib/trunk/com/ssh/extended-basis/unstable/public/univ.sig 2006-12-10 19:11:12 UTC (rev 4930) @@ -1,32 +0,0 @@ -(* Copyright (C) 2006 SSH Communications Security, Helsinki, Finland - * - * This code is released under the MLton license, a BSD-style license. - * See the LICENSE file or http://mlton.org/License for details. - *) - -(** - * Signature for a basic universal type. - * - * See also: [http://mlton.org/UniversalType] - *) -signature UNIV = sig - type t - (** The universal type. *) - - exception Univ - (** Raised in case of a mismatched projection. *) - - val newIso : ('a, t) Iso.t Thunk.t - (** - * Creates a new embedding of an arbitrary type {'a} to the universal - * type {t} and returns it as an isomorphism whose projection function - * is partial. The projection function raises {Univ} in case of a - * mismatch. - *) - - val newEmb : ('a, t) Emb.t Thunk.t - (** - * Creates a new embedding of an arbitrary type {'a} to the universal - * type {t}. - *) -end |
|
From: Vesa K. <ve...@ml...> - 2006-12-10 11:11:07
|
Reorganized public files. ---------------------------------------------------------------------- D mltonlib/trunk/com/ssh/extended-basis/unstable/public/unit.sig ---------------------------------------------------------------------- Deleted: mltonlib/trunk/com/ssh/extended-basis/unstable/public/unit.sig =================================================================== --- mltonlib/trunk/com/ssh/extended-basis/unstable/public/unit.sig 2006-12-10 19:11:01 UTC (rev 4928) +++ mltonlib/trunk/com/ssh/extended-basis/unstable/public/unit.sig 2006-12-10 19:11:07 UTC (rev 4929) @@ -1,11 +0,0 @@ -(* Copyright (C) 2006 SSH Communications Security, Helsinki, Finland - * - * This code is released under the MLton license, a BSD-style license. - * See the LICENSE file or http://mlton.org/License for details. - *) - -(** Signature for the unit type home module. *) -signature UNIT = sig - type t = unit - (** The unit type. *) -end |
|
From: Vesa K. <ve...@ml...> - 2006-12-10 11:11:02
|
Reorganized public files. ---------------------------------------------------------------------- D mltonlib/trunk/com/ssh/extended-basis/unstable/public/array.sig ---------------------------------------------------------------------- Deleted: mltonlib/trunk/com/ssh/extended-basis/unstable/public/array.sig =================================================================== --- mltonlib/trunk/com/ssh/extended-basis/unstable/public/array.sig 2006-12-10 19:10:49 UTC (rev 4927) +++ mltonlib/trunk/com/ssh/extended-basis/unstable/public/array.sig 2006-12-10 19:11:01 UTC (rev 4928) @@ -1,66 +0,0 @@ -(* Copyright (C) 2006 SSH Communications Security, Helsinki, Finland - * - * This code is released under the MLton license, a BSD-style license. - * See the LICENSE file or http://mlton.org/License for details. - *) - -(** Extended {ARRAY} signature. *) -signature ARRAY = sig - include ARRAY - - type 'a t = 'a array - (** Convenience alias. *) - - val duplicate : 'a t -> 'a t - (** - * Makes a fresh duplicate of the given array. {duplicate a} is - * equivalent to {tabulate (length a, fn i => sub (a, i))}. - *) - - val unfoldi : (Int.t * 'b -> 'a * 'b) -> Int.t * 'b -> 'a t * 'b - (** - * {unfoldi f (n, b)} constructs an array a of length {n}, whose - * elements {ai} are determined by the equations {b0 = b} and {(ai, - * bi+1) = f (i, bi)}. - *) - - (** == Conversions == *) - - val fromVector : 'a Vector.t -> 'a t - (** - * 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 t -> 'a List.t - (** - * Generates a list from the given array. Specifically, the result of - * {toList a} is equivalent to {foldr op :: [] a}. - *) - - val toVector : 'a t -> 'a Vector.t - (** - * 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 t, 'a List.t) Iso.t - (** - * An isomorphism between arrays and lists. It is always equivalent to - * {(toList, fromList)}. Note that the isomorphism does not preserve - * identity. - *) - - val isoVector : ('a t, 'a Vector.t) Iso.t - (** - * An isomorphism between arrays and vectors. It is always equivalent - * to {(toVector, fromVector)}. Note that the isomorphism does not - * preserve identity. - *) -end |
|
From: Vesa K. <ve...@ml...> - 2006-12-10 11:10:49
|
Reorganized public files. ---------------------------------------------------------------------- D mltonlib/trunk/com/ssh/extended-basis/unstable/public/promise.sig ---------------------------------------------------------------------- Deleted: mltonlib/trunk/com/ssh/extended-basis/unstable/public/promise.sig =================================================================== --- mltonlib/trunk/com/ssh/extended-basis/unstable/public/promise.sig 2006-12-10 19:10:42 UTC (rev 4926) +++ mltonlib/trunk/com/ssh/extended-basis/unstable/public/promise.sig 2006-12-10 19:10:49 UTC (rev 4927) @@ -1,79 +0,0 @@ -(* Copyright (C) 2006 SSH Communications Security, Helsinki, Finland - * - * This code is released under the MLton license, a BSD-style license. - * See the LICENSE file or http://mlton.org/License for details. - *) - -(** - * Lazy promises. - * - * The design is based on [http://srfi.schemers.org/srfi-45/ SRFI-45] - * ``Primitives for Expressing Iterative Lazy Algorithms'' by André van - * Tonder. - * - * The general recipe to express lazy algorithms is to - * - wrap all constructors with {delay (fn () => ...)}, - * - apply {force} to arguments of destructors, and - * - wrap function bodies with {lazy (fn () => ...)}. - *) -signature PROMISE = sig - type 'a t - (** The abstract type of promises. *) - - val delay : 'a Thunk.t -> 'a t - (** - * Takes a thunk of type {'a thunk} and returns a promise of type - * {'a t} which at some point in the future may be asked (by the - * {force} procedure) to evaluate the thunk and deliver the - * resulting value. - *) - - val eager : 'a -> 'a t - (** - * Takes an argument of type {'a} and returns a promise of type - * {'a t}. As opposed to {delay}, the argument is evaluated eagerly. - * - * Semantically, writing - * - *> eager expression - * - * is equivalent to writing - * - *> let val value = expression in delay (fn () => value) end - * - * However, the former is more efficient since it does not require - * unnecessary creation and evaluation of thunks. We also have the - * equivalence - * - *> delay (fn () => expression) = lazy (eager expression) - * - * assuming that evaluation of the expression does not raise an - * exception. - *) - - val force : 'a t -> 'a - (** - * Takes a promise of type {'a t} and returns a value of type {'a} - * as follows: If a value of type {'a} has been computed for the - * promise, this value is returned. Otherwise, the promise is first - * evaluated, then overwritten by the obtained promise or value, and - * then force is again applied (iteratively) to the promise. - *) - - val lazy : 'a t Thunk.t -> 'a t - (** - * Takes a thunk returning a promise of type {'a t} and returns a - * promise of type {'a t} which at some point in the future may be - * asked (by the {force} procedure) to evaluate the thunk and - * deliver the resulting promise. - *) - - val toThunk : 'a t -> 'a Thunk.t - (** - * Converts a promise into a thunk. This can be useful for working - * around the value restriction, for example. - *) - - val Y : 'a t Tie.t - (** Fixpoint tier for promises. *) -end |
|
From: Vesa K. <ve...@ml...> - 2006-12-10 11:10:44
|
Reorganized public files. ---------------------------------------------------------------------- D mltonlib/trunk/com/ssh/extended-basis/unstable/public/infixes.sml ---------------------------------------------------------------------- Deleted: mltonlib/trunk/com/ssh/extended-basis/unstable/public/infixes.sml =================================================================== --- mltonlib/trunk/com/ssh/extended-basis/unstable/public/infixes.sml 2006-12-10 19:10:29 UTC (rev 4925) +++ mltonlib/trunk/com/ssh/extended-basis/unstable/public/infixes.sml 2006-12-10 19:10:42 UTC (rev 4926) @@ -1,77 +0,0 @@ -(* Copyright (C) 2006 SSH Communications Security, Helsinki, Finland - * - * This code is released under the MLton license, a BSD-style license. - * See the LICENSE file or http://mlton.org/License for details. - *) - -(** - * == Operator Precedence Table == - * - * The precendences of most Basis Library operators are modified here to - * accommodate the sectioning, application, and piping operators: - * - * * / div mod are +1 from Basis Library - * + - ^ are +1 from Basis Library - * :: @ are +1 from Basis Library - * = <> > >= < <= are +1 from Basis Library - * := is -2 from Basis Library - * - * The changed precedences should not cause (major) problems as the - * relative precedences of only a couple of operators are changed. If you - * do encounter problems, it would nice to hear about them. - * - * See - * - * http://mlton.org/InfixingOperators - * - * for a discussion of fixity declarations in SML. - * - * While one should think twice before introducing new infix declarations - * at the top-level, a carefully chosen set of top-level infix - * declarations can make programs much more aesthetically pleasing and - * readable. - * - * Categories used below: - * - * Basis Operators from the Standard ML Basis Library - * B & P Bitwise and Predicate operators - * P & S Piping and Sectioning operators - * Monadic Monadic operators - * Ticked Ticked operators - * Misc Uncategorized - *) - -(* ************************************************************************** *) -(* ! Basis ! B & P ! P & S ! Monadic ! Ticked ! Misc *) -(* ========================================================================== *) -infix 8 ! * div ! << >> ! ! ! *` ! - ! / mod ! ~>> ! ! ! /` ! -(* ========================================================================== *) -infix 7 ! + - ^ ! andb ! ! ! +` -` ! - ! ! ! ! ! ^` ! -(* ========================================================================== *) -infix 6 ! ! xorb ! ! ! ! -(* -------------------------------------------------------------------------- *) -infixr 6 ! :: @ ! ! ! ! ::` @` ! -(* ========================================================================== *) -infix 5 ! > >= = ! orb == ! ! ! =` ! - ! < <= <> ! != ?= ! ! ! ! -(* ========================================================================== *) -infix 4 ! ! ! <\ \> ! ! ! -(* -------------------------------------------------------------------------- *) -infixr 4 ! ! ! </ /> ! ! ! -(* ========================================================================== *) -infix 3 ! o ! ! ! ! ! <--> -(* ========================================================================== *) -infix 2 ! ! andAlso ! >| ! ! ! -(* -------------------------------------------------------------------------- *) -infixr 2 ! ! ! |< ! ! ! -(* ========================================================================== *) -infix 1 ! := ! orElse ! ! >>= >>& ! ! :=: += -= -(* ========================================================================== *) -infix 0 ! before ! ! ! ! &` ! & -(* -------------------------------------------------------------------------- *) -infixr 0 ! ! ! ! ! ! --> -(* ************************************************************************** *) - -nonfix ! (* We just used ! above as a visual separator. *) |
|
From: Vesa K. <ve...@ml...> - 2006-12-10 11:10:37
|
Reorganized public files. ---------------------------------------------------------------------- D mltonlib/trunk/com/ssh/extended-basis/unstable/public/order.sig ---------------------------------------------------------------------- Deleted: mltonlib/trunk/com/ssh/extended-basis/unstable/public/order.sig =================================================================== --- mltonlib/trunk/com/ssh/extended-basis/unstable/public/order.sig 2006-12-10 19:10:05 UTC (rev 4924) +++ mltonlib/trunk/com/ssh/extended-basis/unstable/public/order.sig 2006-12-10 19:10:29 UTC (rev 4925) @@ -1,35 +0,0 @@ -(* Copyright (C) 2006 SSH Communications Security, Helsinki, Finland - * - * This code is released under the MLton license, a BSD-style license. - * See the LICENSE file or http://mlton.org/License for details. - *) - -(** Utilities for dealing with the {order} datatype. *) -signature ORDER = sig - datatype t = datatype order - (** The {order} datatype. *) - - val swap : t UnOp.t - (** - * Swap order: - * - *> swap EQUAL = EQUAL - *> swap GREATER = LESS - *> swap LESS = GREATER - *) - - val orWhenEq : t * t Thunk.t -> t - (** - * Sequencing of comparisons. {orWhenEq (a, bTh)} is equivalent to - * - *> case a of - *> EQUAL => bTh () - *> | other => other - *) - - (** == Predicates == *) - - val isEqual : t UnPr.t (** {isEqual x = x = EQUAL} *) - val isGreater : t UnPr.t (** {isGreater x = x = GREATER} *) - val isLess : t UnPr.t (** {isLess x = x = LESS} *) -end |
|
From: Vesa K. <ve...@ml...> - 2006-12-10 11:10:19
|
Reorganized public files. ---------------------------------------------------------------------- D mltonlib/trunk/com/ssh/extended-basis/unstable/public/array-slice.sig ---------------------------------------------------------------------- Deleted: mltonlib/trunk/com/ssh/extended-basis/unstable/public/array-slice.sig =================================================================== --- mltonlib/trunk/com/ssh/extended-basis/unstable/public/array-slice.sig 2006-12-10 19:09:55 UTC (rev 4923) +++ mltonlib/trunk/com/ssh/extended-basis/unstable/public/array-slice.sig 2006-12-10 19:10:05 UTC (rev 4924) @@ -1,13 +0,0 @@ -(* Copyright (C) 2006 SSH Communications Security, Helsinki, Finland - * - * This code is released under the MLton license, a BSD-style license. - * See the LICENSE file or http://mlton.org/License for details. - *) - -(** Extended {ARRAY_SLICE} signature. *) -signature ARRAY_SLICE = sig - include ARRAY_SLICE - - type 'a t = 'a slice - (** Convenience alias. *) -end |
|
From: Vesa K. <ve...@ml...> - 2006-12-10 11:09:59
|
Reorganized public files. ---------------------------------------------------------------------- D mltonlib/trunk/com/ssh/extended-basis/unstable/public/mono-vector.sig ---------------------------------------------------------------------- Deleted: mltonlib/trunk/com/ssh/extended-basis/unstable/public/mono-vector.sig =================================================================== --- mltonlib/trunk/com/ssh/extended-basis/unstable/public/mono-vector.sig 2006-12-10 19:09:40 UTC (rev 4922) +++ mltonlib/trunk/com/ssh/extended-basis/unstable/public/mono-vector.sig 2006-12-10 19:09:55 UTC (rev 4923) @@ -1,58 +0,0 @@ -(* Copyright (C) 2006 SSH Communications Security, Helsinki, Finland - * - * This code is released under the MLton license, a BSD-style license. - * See the LICENSE file or http://mlton.org/License for details. - *) - -(** Extended {MONO_VECTOR} signature. *) -signature MONO_VECTOR = sig - include MONO_VECTOR - - type t = vector - (** Convenience alias. *) - - val unfoldi : (Int.t * 'a -> elem * 'a) -> Int.t * 'a -> t * 'a - (** - * {unfoldi f (n, b)} constructs a vector {v} of a length {n}, whose - * elements {vi} are determined by the equations {b0 = b} and {(vi, - * bi+1) = f (i, bi)}. - *) - - (** == Conversions == *) - - val fromPoly : elem Vector.t -> t - (** - * 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 : t -> elem List.t - (** - * Generates a list from the given vector. Specifically, the result of - * {toList v} is equivalent to {foldr op :: [] v}. - *) - - val toPoly : t -> elem Vector.t - (** - * 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 : (t, elem List.t) Iso.t - (** - * An isomorphism between vectors and lists. It is always equivalent - * to {(toList, fromList)}. - *) - - val isoPoly : (t, elem Vector.t) Iso.t - (** - * An isomorphism between monomorphic and polymorphic vectors. It is - * always equivalent to {(toPoly, fromPoly)}. - *) -end |
|
From: Vesa K. <ve...@ml...> - 2006-12-10 11:09:44
|
Reorganized public files. ---------------------------------------------------------------------- D mltonlib/trunk/com/ssh/extended-basis/unstable/public/string.sig ---------------------------------------------------------------------- Deleted: mltonlib/trunk/com/ssh/extended-basis/unstable/public/string.sig =================================================================== --- mltonlib/trunk/com/ssh/extended-basis/unstable/public/string.sig 2006-12-10 19:09:30 UTC (rev 4921) +++ mltonlib/trunk/com/ssh/extended-basis/unstable/public/string.sig 2006-12-10 19:09:40 UTC (rev 4922) @@ -1,65 +0,0 @@ -(* Copyright (C) 2006 SSH Communications Security, Helsinki, Finland - * - * This code is released under the MLton license, a BSD-style license. - * See the LICENSE file or http://mlton.org/License for details. - *) - -(** - * Extended {STRING} signature. - *) -signature STRING = sig - include STRING - - type t = string - (** - * Convenience alias. - *) - - (** == Embeddings == *) - - val embCString : (t, t) Emb.t - (** - * An embedding of strings into C-style string literals. It is always - * equivalent to {(toCString, fromCString)}. - *) - - val embString : (t, t) Emb.t - (** - * An embedding of strings into SML-style string literals. It is - * always equivalent to {(toString, fromString)}. - *) - - (** == Isomorphisms == *) - - val isoList : (t, Char.t List.t) Iso.t - (** - * An isomorphism between strings and lists. It is always equivalent - * to {(toList, fromList)}. - *) - - (** == {MONO_VECTOR} == *) - - type elem = char - type vector = t - - val all : elem UnPr.t -> vector UnPr.t - val app : elem Effect.t -> vector Effect.t - val appi : (Int.t * elem) Effect.t -> vector Effect.t - val exists : elem UnPr.t -> vector UnPr.t - val find : elem UnPr.t -> vector -> elem Option.t - val findi : (Int.t * elem -> Bool.t) -> vector -> (Int.t * elem) Option.t - val foldl : (elem * 'a -> 'a) -> 'a -> vector -> 'a - val foldli : (Int.t * elem * 'a -> 'a) -> 'a -> vector -> 'a - val foldr : (elem * 'a -> 'a) -> 'a -> vector -> 'a - val foldri : (Int.t * elem * 'a -> 'a) -> 'a -> vector -> 'a - val fromList : elem List.t -> vector - val fromPoly : elem Vector.t -> vector - val isoPoly : (vector, elem Vector.t) Iso.t - val length : vector -> Int.t - val mapi : (Int.t * elem -> elem) -> vector UnOp.t - val maxLen : Int.t - val tabulate : Int.t * (Int.t -> elem) -> vector - val toList : vector -> elem List.t - val toPoly : vector -> elem Vector.t - val update : vector * Int.t * elem -> vector -end |
|
From: Vesa K. <ve...@ml...> - 2006-12-10 11:09:34
|
Reorganized public files. ---------------------------------------------------------------------- D mltonlib/trunk/com/ssh/extended-basis/unstable/public/mono-vector-slice.sig ---------------------------------------------------------------------- Deleted: mltonlib/trunk/com/ssh/extended-basis/unstable/public/mono-vector-slice.sig =================================================================== --- mltonlib/trunk/com/ssh/extended-basis/unstable/public/mono-vector-slice.sig 2006-12-10 19:09:18 UTC (rev 4920) +++ mltonlib/trunk/com/ssh/extended-basis/unstable/public/mono-vector-slice.sig 2006-12-10 19:09:30 UTC (rev 4921) @@ -1,13 +0,0 @@ -(* Copyright (C) 2006 SSH Communications Security, Helsinki, Finland - * - * This code is released under the MLton license, a BSD-style license. - * See the LICENSE file or http://mlton.org/License for details. - *) - -(** Extended {MONO_VECTOR_SLICE} signature. *) -signature MONO_VECTOR_SLICE = sig - include MONO_VECTOR_SLICE - - type t = slice - (** Convenience alias. *) -end |
|
From: Vesa K. <ve...@ml...> - 2006-12-10 11:09:19
|
Reorganized public files. ---------------------------------------------------------------------- D mltonlib/trunk/com/ssh/extended-basis/unstable/public/sum.sig ---------------------------------------------------------------------- Deleted: mltonlib/trunk/com/ssh/extended-basis/unstable/public/sum.sig =================================================================== --- mltonlib/trunk/com/ssh/extended-basis/unstable/public/sum.sig 2006-12-10 19:09:10 UTC (rev 4919) +++ mltonlib/trunk/com/ssh/extended-basis/unstable/public/sum.sig 2006-12-10 19:09:18 UTC (rev 4920) @@ -1,43 +0,0 @@ -(* Copyright (C) 2006 SSH Communications Security, Helsinki, Finland - * - * This code is released under the MLton license, a BSD-style license. - * See the LICENSE file or http://mlton.org/License for details. - *) - -(** A general purpose sum type. *) -signature SUM = sig - datatype ('a, 'b) sum = INL of 'a | INR of 'b - type ('a, 'b) t = ('a, 'b) sum - - exception Sum - - (** == Operations == *) - - val swap : ('a, 'b) t -> ('b, 'a) t - - val isL : ('a, 'b) t UnPr.t - val isR : ('a, 'b) t UnPr.t - - val getL : ('a, 'b) t -> 'a UnOp.t - val getR : ('a, 'b) t -> 'b UnOp.t - - val out : ('a, 'a) t -> 'a - val outL : ('a, 'b) t -> 'a - val outR : ('a, 'b) t -> 'b - - (** == HOFs == *) - - val sum : ('a -> 'c) * ('b -> 'c) -> ('a, 'b) t -> 'c - - val app : 'a Effect.t * 'b Effect.t -> ('a, 'b) t Effect.t - val appL : 'a Effect.t -> ('a, 'b) t Effect.t - val appR : 'b Effect.t -> ('a, 'b) t Effect.t - - val map : ('a -> 'c) * ('b -> 'd) -> ('a, 'b) t -> ('c, 'd) t - val mapL : ('a -> 'c) -> ('a, 'b) t -> ('c, 'b) t - val mapR : ('b -> 'd) -> ('a, 'b) t -> ('a, 'd) t - val mapLR : ('a -> 'b) -> ('a, 'a) t -> ('b, 'b) t - - val equal : 'a BinPr.t * 'b BinPr.t -> ('a, 'b) t BinPr.t - val collate : 'a Cmp.t * 'b Cmp.t -> ('a, 'b) t Cmp.t -end |
|
From: Vesa K. <ve...@ml...> - 2006-12-10 11:09:13
|
Reorganized public files. ---------------------------------------------------------------------- D mltonlib/trunk/com/ssh/extended-basis/unstable/public/export-polyml.sml ---------------------------------------------------------------------- Deleted: mltonlib/trunk/com/ssh/extended-basis/unstable/public/export-polyml.sml =================================================================== --- mltonlib/trunk/com/ssh/extended-basis/unstable/public/export-polyml.sml 2006-12-10 19:09:02 UTC (rev 4918) +++ mltonlib/trunk/com/ssh/extended-basis/unstable/public/export-polyml.sml 2006-12-10 19:09:10 UTC (rev 4919) @@ -1,20 +0,0 @@ -(* Copyright (C) 2006 SSH Communications Security, Helsinki, Finland - * - * This code is released under the MLton license, a BSD-style license. - * See the LICENSE file or http://mlton.org/License for details. - *) - -(** == Poly/ML specific extensions == *) - -structure BoolArray : MONO_ARRAY = BoolArray -structure BoolVector : MONO_VECTOR = BoolVector -structure IntArray : MONO_ARRAY = IntArray -structure IntArraySlice : MONO_ARRAY_SLICE = IntArraySlice -structure IntVector : MONO_VECTOR = IntVector -structure IntVectorSlice : MONO_VECTOR_SLICE = IntVectorSlice -structure RealArray : MONO_ARRAY = RealArray -structure RealArraySlice : MONO_ARRAY_SLICE = RealArraySlice -structure RealVector : MONO_VECTOR = RealVector -structure RealVectorSlice : MONO_VECTOR_SLICE = RealVectorSlice -structure SysWord : WORD = SysWord -structure Word8Vector : MONO_VECTOR = Word8Vector |
|
From: Vesa K. <ve...@ml...> - 2006-12-10 11:09:05
|
Reorganized public files. ---------------------------------------------------------------------- D mltonlib/trunk/com/ssh/extended-basis/unstable/public/un-pr.sig ---------------------------------------------------------------------- Deleted: mltonlib/trunk/com/ssh/extended-basis/unstable/public/un-pr.sig =================================================================== --- mltonlib/trunk/com/ssh/extended-basis/unstable/public/un-pr.sig 2006-12-10 19:08:50 UTC (rev 4917) +++ mltonlib/trunk/com/ssh/extended-basis/unstable/public/un-pr.sig 2006-12-10 19:09:02 UTC (rev 4918) @@ -1,20 +0,0 @@ -(* Copyright (C) 2006 SSH Communications Security, Helsinki, Finland - * - * This code is released under the MLton license, a BSD-style license. - * See the LICENSE file or http://mlton.org/License for details. - *) - -(** Utilities for dealing with (unary) predicates. *) -signature UN_PR = sig - type 'a t = 'a -> bool - (** Type of (unary) predicates (e.g. {null, isSome, ...}). *) - - val andAlso : 'a t BinOp.t - (** Conjunction of predicates ({(p andAlso q) x = p x andalso q y}). *) - - val negate : 'a t UnOp.t - (** Predicate negation ({negate p = not o p}). *) - - val orElse : 'a t BinOp.t - (** Disjunction of predicates ({(p orElse q) x = p x orelse q x}). *) -end |
|
From: Vesa K. <ve...@ml...> - 2006-12-10 11:08:52
|
Reorganized public files. ---------------------------------------------------------------------- D mltonlib/trunk/com/ssh/extended-basis/unstable/public/product-type.sig ---------------------------------------------------------------------- Deleted: mltonlib/trunk/com/ssh/extended-basis/unstable/public/product-type.sig =================================================================== --- mltonlib/trunk/com/ssh/extended-basis/unstable/public/product-type.sig 2006-12-10 18:59:08 UTC (rev 4916) +++ mltonlib/trunk/com/ssh/extended-basis/unstable/public/product-type.sig 2006-12-10 19:08:50 UTC (rev 4917) @@ -1,69 +0,0 @@ -(* Copyright (C) 2006 SSH Communications Security, Helsinki, Finland - * - * This code is released under the MLton license, a BSD-style license. - * See the LICENSE file or http://mlton.org/License for details. - *) - -signature PRODUCT_TYPE = sig - type ('a, 'b) t - - (** == Conversions == *) - - val fromTuple2 : 'a * 'b -> ('a, 'b) t - val fromTuple3 : 'a * 'b * 'c -> (('a, 'b) t, 'c) t - val fromTuple4 : 'a * 'b * 'c * 'd -> ((('a, 'b) t, 'c) t, 'd) t - (** - * Conversions from tuples to products. - *) - - val toTuple2 : ('a, 'b) t -> 'a * 'b - val toTuple3 : (('a, 'b) t, 'c) t -> 'a * 'b * 'c - val toTuple4 : ((('a, 'b) t, 'c) t, 'd) t -> 'a * 'b * 'c * 'd - (** - * Conversions from products to tuples. - *) - - (** == Isomorphisms == *) - - val isoTuple2 : ('a * 'b, ('a, 'b) t) Iso.t - val isoTuple3 : ('a * 'b * 'c, (('a, 'b) t, 'c) t) Iso.t - val isoTuple4 : ('a * 'b * 'c * 'd, ((('a, 'b) t, 'c) t, 'd) t) Iso.t - (** - * Isomorphisms between products and tuples. - *) - - (** == Operations == *) - - val swap : ('a, 'b) t -> ('b, 'a) t - (** Swap the elements of a product. *) - - val swizzle : ('a, 'b) t * ('c, 'd) t -> ('a * 'c, 'b * 'd) t - (** Swizzle the elements of a pair of products. *) - - val fst : ('a, 'b) t -> 'a - (** Extract the first element of a product. *) - - val snd : ('a, 'b) t -> 'b - (** Extract the second element of a product. *) - - (** == HOFs for Building Operations on Products == *) - - val app : 'a Effect.t * 'b Effect.t -> ('a, 'b) t Effect.t - val appFst : 'a Effect.t -> ('a, 'b) t Effect.t - val appSnd : 'b Effect.t -> ('a, 'b) t Effect.t - - val map : ('a -> 'c) * ('b -> 'd) -> ('a, 'b) t -> ('c, 'd) t - val mapFst : ('a -> 'c) -> ('a, 'b) t -> ('c, 'b) t - val mapSnd : ('b -> 'c) -> ('a, 'b) t -> ('a, 'c) t - - val all : 'a UnPr.t * 'b UnPr.t -> ('a, 'b) t UnPr.t - val exists : 'a UnPr.t * 'b UnPr.t -> ('a, 'b) t UnPr.t - - val equal : 'a BinPr.t * 'b BinPr.t -> ('a, 'b) t BinPr.t - val collate : 'a Cmp.t * 'b Cmp.t -> ('a, 'b) t Cmp.t - - val foldl : ('a * 'x -> 'y) * ('b * 'y -> 'z) -> ('a, 'b) t * 'x -> 'z - val foldr : ('a * 'y -> 'z) * ('b * 'x -> 'y) -> ('a, 'b) t * 'x -> 'z - - val thunk : 'a Thunk.t * 'b Thunk.t -> ('a, 'b) t Thunk.t -end |
|
From: Vesa K. <ve...@ml...> - 2006-12-10 10:59:25
|
Reorganized public files.
----------------------------------------------------------------------
U mltonlib/trunk/com/ssh/extended-basis/unstable/detail/smlnj/sigs.cm
U mltonlib/trunk/com/ssh/extended-basis/unstable/detail/smlnj/unsealed.cm
U mltonlib/trunk/com/ssh/extended-basis/unstable/extensions.cm
U mltonlib/trunk/com/ssh/extended-basis/unstable/extensions.mlb
U mltonlib/trunk/com/ssh/extended-basis/unstable/extensions.use
A mltonlib/trunk/com/ssh/extended-basis/unstable/public/data/
A mltonlib/trunk/com/ssh/extended-basis/unstable/public/data/bool.sig
A mltonlib/trunk/com/ssh/extended-basis/unstable/public/data/exn.sig
A mltonlib/trunk/com/ssh/extended-basis/unstable/public/data/option.sig
A mltonlib/trunk/com/ssh/extended-basis/unstable/public/data/order.sig
A mltonlib/trunk/com/ssh/extended-basis/unstable/public/data/pair.sig
A mltonlib/trunk/com/ssh/extended-basis/unstable/public/data/product-type.sig
A mltonlib/trunk/com/ssh/extended-basis/unstable/public/data/product.sig
A mltonlib/trunk/com/ssh/extended-basis/unstable/public/data/ref.sig
A mltonlib/trunk/com/ssh/extended-basis/unstable/public/data/sq.sig
A mltonlib/trunk/com/ssh/extended-basis/unstable/public/data/sum.sig
A mltonlib/trunk/com/ssh/extended-basis/unstable/public/data/unit.sig
A mltonlib/trunk/com/ssh/extended-basis/unstable/public/data/univ.sig
A mltonlib/trunk/com/ssh/extended-basis/unstable/public/export/
A mltonlib/trunk/com/ssh/extended-basis/unstable/public/export/common.sml
A mltonlib/trunk/com/ssh/extended-basis/unstable/public/export/infixes.sml
A mltonlib/trunk/com/ssh/extended-basis/unstable/public/export/mlkit.sml
A mltonlib/trunk/com/ssh/extended-basis/unstable/public/export/mlton.sml
A mltonlib/trunk/com/ssh/extended-basis/unstable/public/export/polyml.sml
A mltonlib/trunk/com/ssh/extended-basis/unstable/public/export/smlnj.sml
A mltonlib/trunk/com/ssh/extended-basis/unstable/public/export/top-level.sml
A mltonlib/trunk/com/ssh/extended-basis/unstable/public/fn/
A mltonlib/trunk/com/ssh/extended-basis/unstable/public/fn/bin-op.sig
A mltonlib/trunk/com/ssh/extended-basis/unstable/public/fn/bin-pr.sig
A mltonlib/trunk/com/ssh/extended-basis/unstable/public/fn/cmp.sig
A mltonlib/trunk/com/ssh/extended-basis/unstable/public/fn/effect.sig
A mltonlib/trunk/com/ssh/extended-basis/unstable/public/fn/fn.sig
A mltonlib/trunk/com/ssh/extended-basis/unstable/public/fn/thunk.sig
A mltonlib/trunk/com/ssh/extended-basis/unstable/public/fn/un-op.sig
A mltonlib/trunk/com/ssh/extended-basis/unstable/public/fn/un-pr.sig
A mltonlib/trunk/com/ssh/extended-basis/unstable/public/generic/
A mltonlib/trunk/com/ssh/extended-basis/unstable/public/generic/emb.sig
A mltonlib/trunk/com/ssh/extended-basis/unstable/public/generic/fix.sig
A mltonlib/trunk/com/ssh/extended-basis/unstable/public/generic/iso.sig
A mltonlib/trunk/com/ssh/extended-basis/unstable/public/generic/tie.sig
A mltonlib/trunk/com/ssh/extended-basis/unstable/public/lazy/
A mltonlib/trunk/com/ssh/extended-basis/unstable/public/lazy/promise.sig
A mltonlib/trunk/com/ssh/extended-basis/unstable/public/numeric/
A mltonlib/trunk/com/ssh/extended-basis/unstable/public/numeric/int-inf.sig
A mltonlib/trunk/com/ssh/extended-basis/unstable/public/numeric/integer.sig
A mltonlib/trunk/com/ssh/extended-basis/unstable/public/numeric/real.sig
A mltonlib/trunk/com/ssh/extended-basis/unstable/public/numeric/word.sig
A mltonlib/trunk/com/ssh/extended-basis/unstable/public/sequence/
A mltonlib/trunk/com/ssh/extended-basis/unstable/public/sequence/array-slice.sig
A mltonlib/trunk/com/ssh/extended-basis/unstable/public/sequence/array.sig
A mltonlib/trunk/com/ssh/extended-basis/unstable/public/sequence/buffer.sig
A mltonlib/trunk/com/ssh/extended-basis/unstable/public/sequence/list.sig
A mltonlib/trunk/com/ssh/extended-basis/unstable/public/sequence/mono-array-slice.sig
A mltonlib/trunk/com/ssh/extended-basis/unstable/public/sequence/mono-array.sig
A mltonlib/trunk/com/ssh/extended-basis/unstable/public/sequence/mono-vector-slice.sig
A mltonlib/trunk/com/ssh/extended-basis/unstable/public/sequence/mono-vector.sig
A mltonlib/trunk/com/ssh/extended-basis/unstable/public/sequence/vector-slice.sig
A mltonlib/trunk/com/ssh/extended-basis/unstable/public/sequence/vector.sig
A mltonlib/trunk/com/ssh/extended-basis/unstable/public/text/
A mltonlib/trunk/com/ssh/extended-basis/unstable/public/text/char.sig
A mltonlib/trunk/com/ssh/extended-basis/unstable/public/text/string.sig
A mltonlib/trunk/com/ssh/extended-basis/unstable/public/text/substring.sig
A mltonlib/trunk/com/ssh/extended-basis/unstable/public/text/text.sig
----------------------------------------------------------------------
Modified: mltonlib/trunk/com/ssh/extended-basis/unstable/detail/smlnj/sigs.cm
===================================================================
--- mltonlib/trunk/com/ssh/extended-basis/unstable/detail/smlnj/sigs.cm 2006-12-10 08:04:42 UTC (rev 4915)
+++ mltonlib/trunk/com/ssh/extended-basis/unstable/detail/smlnj/sigs.cm 2006-12-10 18:59:08 UTC (rev 4916)
@@ -8,48 +8,48 @@
group(funs.cm)
source(-)
is
- ../../public/array-slice.sig
- ../../public/array.sig
- ../../public/bin-op.sig
- ../../public/bin-pr.sig
- ../../public/bool.sig
- ../../public/buffer.sig
- ../../public/char.sig
- ../../public/cmp.sig
- ../../public/effect.sig
- ../../public/emb.sig
+ ../../public/data/bool.sig
+ ../../public/data/exn.sig
+ ../../public/data/option.sig
+ ../../public/data/order.sig
+ ../../public/data/pair.sig
+ ../../public/data/product-type.sig
+ ../../public/data/product.sig
+ ../../public/data/ref.sig
+ ../../public/data/sq.sig
+ ../../public/data/sum.sig
+ ../../public/data/unit.sig
../../public/exit.sig
- ../../public/exn.sig
- ../../public/fix.sig
- ../../public/fn.sig
- ../../public/int-inf.sig
- ../../public/integer.sig
- ../../public/iso.sig
- ../../public/list.sig
- ../../public/mono-array-slice.sig
- ../../public/mono-array.sig
- ../../public/mono-vector-slice.sig
- ../../public/mono-vector.sig
- ../../public/option.sig
- ../../public/order.sig
- ../../public/pair.sig
- ../../public/product-type.sig
- ../../public/product.sig
+ ../../public/fn/bin-op.sig
+ ../../public/fn/bin-pr.sig
+ ../../public/fn/cmp.sig
+ ../../public/fn/effect.sig
+ ../../public/fn/fn.sig
+ ../../public/fn/thunk.sig
+ ../../public/fn/un-op.sig
+ ../../public/fn/un-pr.sig
+ ../../public/generic/emb.sig
+ ../../public/generic/fix.sig
+ ../../public/generic/iso.sig
+ ../../public/numeric/int-inf.sig
+ ../../public/numeric/integer.sig
+ ../../public/numeric/real.sig
+ ../../public/numeric/word.sig
../../public/reader.sig
- ../../public/real.sig
- ../../public/ref.sig
- ../../public/sq.sig
- ../../public/string.sig
- ../../public/substring.sig
- ../../public/sum.sig
- ../../public/text.sig
- ../../public/thunk.sig
- ../../public/un-op.sig
- ../../public/un-pr.sig
- ../../public/unit.sig
- ../../public/vector-slice.sig
- ../../public/vector.sig
+ ../../public/sequence/array-slice.sig
+ ../../public/sequence/array.sig
+ ../../public/sequence/buffer.sig
+ ../../public/sequence/list.sig
+ ../../public/sequence/mono-array-slice.sig
+ ../../public/sequence/mono-array.sig
+ ../../public/sequence/mono-vector-slice.sig
+ ../../public/sequence/mono-vector.sig
+ ../../public/sequence/vector-slice.sig
+ ../../public/sequence/vector.sig
+ ../../public/text/char.sig
+ ../../public/text/string.sig
+ ../../public/text/substring.sig
+ ../../public/text/text.sig
../../public/with.sig
- ../../public/word.sig
../../public/writer.sig
funs.cm
Modified: mltonlib/trunk/com/ssh/extended-basis/unstable/detail/smlnj/unsealed.cm
===================================================================
--- mltonlib/trunk/com/ssh/extended-basis/unstable/detail/smlnj/unsealed.cm 2006-12-10 08:04:42 UTC (rev 4915)
+++ mltonlib/trunk/com/ssh/extended-basis/unstable/detail/smlnj/unsealed.cm 2006-12-10 18:59:08 UTC (rev 4916)
@@ -8,9 +8,9 @@
group(sigs.cm)
source(-)
is
- ../../public/promise.sig
- ../../public/tie.sig
- ../../public/univ.sig
+ ../../public/data/univ.sig
+ ../../public/generic/tie.sig
+ ../../public/lazy/promise.sig
../array-slice.sml
../array.sml
../bin-op.sml
Modified: mltonlib/trunk/com/ssh/extended-basis/unstable/extensions.cm
===================================================================
--- mltonlib/trunk/com/ssh/extended-basis/unstable/extensions.cm 2006-12-10 08:04:42 UTC (rev 4915)
+++ mltonlib/trunk/com/ssh/extended-basis/unstable/extensions.cm 2006-12-10 18:59:08 UTC (rev 4916)
@@ -5,9 +5,9 @@
*)
library
- source(public/export-smlnj.sml)
- source(public/export.sml)
+ source(public/export/common.sml)
+ source(public/export/smlnj.sml)
is
detail/smlnj/unsealed.cm
- public/export-smlnj.sml
- public/export.sml
+ public/export/common.sml
+ public/export/smlnj.sml
Modified: mltonlib/trunk/com/ssh/extended-basis/unstable/extensions.mlb
===================================================================
--- mltonlib/trunk/com/ssh/extended-basis/unstable/extensions.mlb 2006-12-10 08:04:42 UTC (rev 4915)
+++ mltonlib/trunk/com/ssh/extended-basis/unstable/extensions.mlb 2006-12-10 18:59:08 UTC (rev 4916)
@@ -38,17 +38,17 @@
(* Compiler specific extensions (if any). *)
basis Ext = bas detail/$(SML_COMPILER)/extensions.mlb end
- basis Fn = bas public/fn.sig detail/fn.sml end
- basis Unit = bas public/unit.sig end
- basis Sq = bas public/sq.sig detail/sq.sml end
- basis UnOp = bas public/un-op.sig detail/un-op.sml end
+ basis Fn = bas public/fn/fn.sig detail/fn.sml end
+ basis Unit = bas public/data/unit.sig end
+ basis Sq = bas public/data/sq.sig detail/sq.sml end
+ basis UnOp = bas public/fn/un-op.sig detail/un-op.sml end
basis Thunk = let
open Fn
in
- bas public/thunk.sig detail/thunk.sml end
+ bas public/fn/thunk.sig detail/thunk.sml end
end
basis Univ = bas
- public/univ.sig
+ public/data/univ.sig
local
detail/univ-common.sml
ann "warnUnused false" in
@@ -62,28 +62,28 @@
basis BinOp = let
open Fn Sq
in
- bas public/bin-op.sig detail/bin-op.sml end
+ bas public/fn/bin-op.sig detail/bin-op.sml end
end
- basis Effect = bas public/effect.sig detail/effect.sml end
- basis Fix = bas public/fix.sig detail/fix.sml end
- basis UnPr = bas public/un-pr.sig detail/un-pr.sml end
- basis Order = bas public/order.sig detail/order.sml end
- basis BinPr = bas public/bin-pr.sig detail/bin-pr.sml end
+ basis Effect = bas public/fn/effect.sig detail/effect.sml end
+ basis Fix = bas public/generic/fix.sig detail/fix.sml end
+ basis UnPr = bas public/fn/un-pr.sig detail/un-pr.sml end
+ basis Order = bas public/data/order.sig detail/order.sml end
+ basis BinPr = bas public/fn/bin-pr.sig detail/bin-pr.sml end
basis Cmp = let
open Fn Order Sq
in
- bas public/cmp.sig detail/cmp.sml end
+ bas public/fn/cmp.sig detail/cmp.sml end
end
- basis Ref = bas public/ref.sig detail/ref.sml end
- basis Bool = bas public/bool.sig detail/bool.sml end
+ basis Ref = bas public/data/ref.sig detail/ref.sml end
+ basis Bool = bas public/data/bool.sig detail/bool.sml end
basis Products = let
open Bool Effect Fn Order
in
bas
- public/product-type.sig
- public/pair.sig
+ public/data/product-type.sig
+ public/data/pair.sig
detail/pair.sml
- public/product.sig
+ public/data/product.sig
detail/product.sml
end
end
@@ -92,50 +92,54 @@
in
bas public/with.sig detail/with.sml end
end
- basis Sum = let open Fn in bas public/sum.sig detail/sum.sml end end
+ basis Sum = let
+ open Fn
+ in
+ bas public/data/sum.sig detail/sum.sml end
+ end
basis Exn = let
open Effect Ext Sum
in
- bas public/exn.sig detail/exn.sml end
+ bas public/data/exn.sig detail/exn.sml end
end
basis Emb = let
open Fn Products
in
- bas public/emb.sig detail/emb.sml end
+ bas public/generic/emb.sig detail/emb.sml end
end
basis Iso = let
open Fn Products Sum
in
- bas public/iso.sig detail/iso.sml end
+ bas public/generic/iso.sig detail/iso.sml end
end
basis Tie = let
open Fix Fn Iso Products Sq
in
- bas public/tie.sig detail/tie.sml end
+ bas public/generic/tie.sig detail/tie.sml end
end
basis Seqs = bas
detail/mk-seq-common-ext.fun
- public/array.sig
+ public/sequence/array.sig
detail/array.sml
- public/array-slice.sig
+ public/sequence/array-slice.sig
detail/array-slice.sml
- public/vector.sig
+ public/sequence/vector.sig
detail/vector.sml
- public/vector-slice.sig
+ public/sequence/vector-slice.sig
detail/vector-slice.sml
end
- basis Option = bas public/option.sig detail/option.sml end
+ basis Option = bas public/data/option.sig detail/option.sml end
basis List = let
open Cmp Fn Option Products
in
- bas public/list.sig detail/list.sml end
+ bas public/sequence/list.sig detail/list.sml end
end
basis Buffer = let
open Seqs List Fn Products
in
- bas public/buffer.sig detail/buffer.sml end
+ bas public/sequence/buffer.sig detail/buffer.sml end
end
basis Reader = let
open Fn Products Univ
@@ -154,10 +158,10 @@
detail/mk-real-ext.fun
detail/mk-word-ext.fun
- public/int-inf.sig
- public/integer.sig
- public/real.sig
- public/word.sig
+ public/numeric/int-inf.sig
+ public/numeric/integer.sig
+ public/numeric/real.sig
+ public/numeric/word.sig
detail/common-scalars.sml
detail/$(SML_COMPILER)/ints.sml
@@ -172,14 +176,14 @@
detail/mk-mono-array-slice-ext.fun
detail/mk-text-ext.fun
- public/mono-vector.sig
- public/mono-vector-slice.sig
- public/mono-array.sig
- public/mono-array-slice.sig
- public/char.sig
- public/string.sig
- public/substring.sig
- public/text.sig
+ public/sequence/mono-vector.sig
+ public/sequence/mono-vector-slice.sig
+ public/sequence/mono-array.sig
+ public/sequence/mono-array-slice.sig
+ public/text/char.sig
+ public/text/string.sig
+ public/text/substring.sig
+ public/text/text.sig
detail/common-mono-seqs.sml
detail/$(SML_COMPILER)/mono-vectors.sml
@@ -191,7 +195,7 @@
basis Promise = let
open Exn Fix Fn Products Sq Sum Tie
in
- bas public/promise.sig detail/promise.sml end
+ bas public/lazy/promise.sig detail/promise.sml end
end
open BinOp BinPr Bool Buffer
@@ -209,10 +213,10 @@
open Unit Univ UnOp UnPr
open With Writer
in
- public/export-$(SML_COMPILER).sml
- public/export.sml
- public/top-level.sml
- public/infixes.sml
+ public/export/$(SML_COMPILER).sml
+ public/export/common.sml
+ public/export/top-level.sml
+ public/export/infixes.sml
end
end
end
Modified: mltonlib/trunk/com/ssh/extended-basis/unstable/extensions.use
===================================================================
--- mltonlib/trunk/com/ssh/extended-basis/unstable/extensions.use 2006-12-10 08:04:42 UTC (rev 4915)
+++ mltonlib/trunk/com/ssh/extended-basis/unstable/extensions.use 2006-12-10 18:59:08 UTC (rev 4916)
@@ -14,44 +14,44 @@
["detail/"^compiler^"/workarounds.use",
"detail/bootstrap.sml",
"detail/"^compiler^"/extensions.use",
- "public/fn.sig", "detail/fn.sml",
- "public/unit.sig",
- "public/sq.sig", "detail/sq.sml",
- "public/un-op.sig", "detail/un-op.sml",
- "public/thunk.sig", "detail/thunk.sml",
- "public/univ.sig", "detail/univ-common.sml", "detail/univ-exn.sml",
- "public/bin-op.sig", "detail/bin-op.sml",
- "public/effect.sig", "detail/effect.sml",
- "public/fix.sig", "detail/fix.sml",
- "public/un-pr.sig", "detail/un-pr.sml",
- "public/order.sig", "detail/order.sml",
- "public/bin-pr.sig", "detail/bin-pr.sml",
- "public/cmp.sig", "detail/cmp.sml",
- "public/ref.sig", "detail/ref.sml",
- "public/bool.sig", "detail/bool.sml",
- "public/product-type.sig",
- "public/pair.sig",
+ "public/fn/fn.sig", "detail/fn.sml",
+ "public/data/unit.sig",
+ "public/data/sq.sig", "detail/sq.sml",
+ "public/fn/un-op.sig", "detail/un-op.sml",
+ "public/fn/thunk.sig", "detail/thunk.sml",
+ "public/data/univ.sig", "detail/univ-common.sml", "detail/univ-exn.sml",
+ "public/fn/bin-op.sig", "detail/bin-op.sml",
+ "public/fn/effect.sig", "detail/effect.sml",
+ "public/generic/fix.sig", "detail/fix.sml",
+ "public/fn/un-pr.sig", "detail/un-pr.sml",
+ "public/data/order.sig", "detail/order.sml",
+ "public/fn/bin-pr.sig", "detail/bin-pr.sml",
+ "public/fn/cmp.sig", "detail/cmp.sml",
+ "public/data/ref.sig", "detail/ref.sml",
+ "public/data/bool.sig", "detail/bool.sml",
+ "public/data/product-type.sig",
+ "public/data/pair.sig",
"detail/pair.sml",
- "public/product.sig",
+ "public/data/product.sig",
"detail/product.sml",
"public/with.sig", "detail/with.sml",
- "public/sum.sig", "detail/sum.sml",
- "public/exn.sig", "detail/exn.sml",
- "public/emb.sig", "detail/emb.sml",
- "public/iso.sig", "detail/iso.sml",
- "public/tie.sig", "detail/tie.sml",
+ "public/data/sum.sig", "detail/sum.sml",
+ "public/data/exn.sig", "detail/exn.sml",
+ "public/generic/emb.sig", "detail/emb.sml",
+ "public/generic/iso.sig", "detail/iso.sml",
+ "public/generic/tie.sig", "detail/tie.sml",
"detail/mk-seq-common-ext.fun",
- "public/array.sig",
+ "public/sequence/array.sig",
"detail/array.sml",
- "public/array-slice.sig",
+ "public/sequence/array-slice.sig",
"detail/array-slice.sml",
- "public/vector.sig",
+ "public/sequence/vector.sig",
"detail/vector.sml",
- "public/vector-slice.sig",
+ "public/sequence/vector-slice.sig",
"detail/vector-slice.sml",
- "public/option.sig", "detail/option.sml",
- "public/list.sig", "detail/list.sml",
- "public/buffer.sig", "detail/buffer.sml",
+ "public/data/option.sig", "detail/option.sml",
+ "public/sequence/list.sig", "detail/list.sml",
+ "public/sequence/buffer.sig", "detail/buffer.sml",
"public/reader.sig", "detail/reader.sml",
"public/writer.sig", "detail/writer.sml",
"public/exit.sig", "detail/exit.sml",
@@ -59,10 +59,10 @@
"detail/mk-int-inf-ext.fun",
"detail/mk-real-ext.fun",
"detail/mk-word-ext.fun",
- "public/int-inf.sig",
- "public/integer.sig",
- "public/real.sig",
- "public/word.sig",
+ "public/numeric/int-inf.sig",
+ "public/numeric/integer.sig",
+ "public/numeric/real.sig",
+ "public/numeric/word.sig",
"detail/common-scalars.sml",
"detail/"^compiler^"/ints.sml",
"detail/"^compiler^"/reals.sml",
@@ -73,24 +73,24 @@
"detail/mk-mono-array-ext.fun",
"detail/mk-mono-array-slice-ext.fun",
"detail/mk-text-ext.fun",
- "public/mono-vector.sig",
- "public/mono-vector-slice.sig",
- "public/mono-array.sig",
- "public/mono-array-slice.sig",
- "public/char.sig",
- "public/string.sig",
- "public/substring.sig",
- "public/text.sig",
+ "public/sequence/mono-vector.sig",
+ "public/sequence/mono-vector-slice.sig",
+ "public/sequence/mono-array.sig",
+ "public/sequence/mono-array-slice.sig",
+ "public/text/char.sig",
+ "public/text/string.sig",
+ "public/text/substring.sig",
+ "public/text/text.sig",
"detail/common-mono-seqs.sml",
"detail/"^compiler^"/mono-vectors.sml",
"detail/"^compiler^"/mono-vector-slices.sml",
"detail/"^compiler^"/mono-arrays.sml",
"detail/"^compiler^"/mono-array-slices.sml",
"detail/"^compiler^"/texts.sml",
- "public/promise.sig", "detail/promise.sml",
+ "public/lazy/promise.sig", "detail/promise.sml",
"detail/"^compiler^"/forget.use",
- "public/export-"^compiler^".sml",
- "public/export.sml",
- "public/top-level.sml",
- "public/infixes.sml"]
+ "public/export/"^compiler^".sml",
+ "public/export/common.sml",
+ "public/export/top-level.sml",
+ "public/export/infixes.sml"]
end
Copied: mltonlib/trunk/com/ssh/extended-basis/unstable/public/data/bool.sig (from rev 4912, mltonlib/trunk/com/ssh/extended-basis/unstable/public/bool.sig)
Copied: mltonlib/trunk/com/ssh/extended-basis/unstable/public/data/exn.sig (from rev 4912, mltonlib/trunk/com/ssh/extended-basis/unstable/public/exn.sig)
Copied: mltonlib/trunk/com/ssh/extended-basis/unstable/public/data/option.sig (from rev 4912, mltonlib/trunk/com/ssh/extended-basis/unstable/public/option.sig)
Copied: mltonlib/trunk/com/ssh/extended-basis/unstable/public/data/order.sig (from rev 4912, mltonlib/trunk/com/ssh/extended-basis/unstable/public/order.sig)
Copied: mltonlib/trunk/com/ssh/extended-basis/unstable/public/data/pair.sig (from rev 4912, mltonlib/trunk/com/ssh/extended-basis/unstable/public/pair.sig)
Copied: mltonlib/trunk/com/ssh/extended-basis/unstable/public/data/product-type.sig (from rev 4912, mltonlib/trunk/com/ssh/extended-basis/unstable/public/product-type.sig)
Copied: mltonlib/trunk/com/ssh/extended-basis/unstable/public/data/product.sig (from rev 4912, mltonlib/trunk/com/ssh/extended-basis/unstable/public/product.sig)
Copied: mltonlib/trunk/com/ssh/extended-basis/unstable/public/data/ref.sig (from rev 4912, mltonlib/trunk/com/ssh/extended-basis/unstable/public/ref.sig)
Copied: mltonlib/trunk/com/ssh/extended-basis/unstable/public/data/sq.sig (from rev 4912, mltonlib/trunk/com/ssh/extended-basis/unstable/public/sq.sig)
Copied: mltonlib/trunk/com/ssh/extended-basis/unstable/public/data/sum.sig (from rev 4912, mltonlib/trunk/com/ssh/extended-basis/unstable/public/sum.sig)
Copied: mltonlib/trunk/com/ssh/extended-basis/unstable/public/data/unit.sig (from rev 4912, mltonlib/trunk/com/ssh/extended-basis/unstable/public/unit.sig)
Copied: mltonlib/trunk/com/ssh/extended-basis/unstable/public/data/univ.sig (from rev 4913, mltonlib/trunk/com/ssh/extended-basis/unstable/public/univ.sig)
Copied: mltonlib/trunk/com/ssh/extended-basis/unstable/public/export/common.sml (from rev 4912, mltonlib/trunk/com/ssh/extended-basis/unstable/public/export.sml)
Copied: mltonlib/trunk/com/ssh/extended-basis/unstable/public/export/infixes.sml (from rev 4912, mltonlib/trunk/com/ssh/extended-basis/unstable/public/infixes.sml)
Copied: mltonlib/trunk/com/ssh/extended-basis/unstable/public/export/mlkit.sml (from rev 4912, mltonlib/trunk/com/ssh/extended-basis/unstable/public/export-mlkit.sml)
Copied: mltonlib/trunk/com/ssh/extended-basis/unstable/public/export/mlton.sml (from rev 4912, mltonlib/trunk/com/ssh/extended-basis/unstable/public/export-mlton.sml)
Copied: mltonlib/trunk/com/ssh/extended-basis/unstable/public/export/polyml.sml (from rev 4912, mltonlib/trunk/com/ssh/extended-basis/unstable/public/export-polyml.sml)
Copied: mltonlib/trunk/com/ssh/extended-basis/unstable/public/export/smlnj.sml (from rev 4912, mltonlib/trunk/com/ssh/extended-basis/unstable/public/export-smlnj.sml)
Copied: mltonlib/trunk/com/ssh/extended-basis/unstable/public/export/top-level.sml (from rev 4912, mltonlib/trunk/com/ssh/extended-basis/unstable/public/top-level.sml)
Copied: mltonlib/trunk/com/ssh/extended-basis/unstable/public/fn/bin-op.sig (from rev 4912, mltonlib/trunk/com/ssh/extended-basis/unstable/public/bin-op.sig)
Copied: mltonlib/trunk/com/ssh/extended-basis/unstable/public/fn/bin-pr.sig (from rev 4912, mltonlib/trunk/com/ssh/extended-basis/unstable/public/bin-pr.sig)
Copied: mltonlib/trunk/com/ssh/extended-basis/unstable/public/fn/cmp.sig (from rev 4912, mltonlib/trunk/com/ssh/extended-basis/unstable/public/cmp.sig)
Copied: mltonlib/trunk/com/ssh/extended-basis/unstable/public/fn/effect.sig (from rev 4912, mltonlib/trunk/com/ssh/extended-basis/unstable/public/effect.sig)
Copied: mltonlib/trunk/com/ssh/extended-basis/unstable/public/fn/fn.sig (from rev 4912, mltonlib/trunk/com/ssh/extended-basis/unstable/public/fn.sig)
Copied: mltonlib/trunk/com/ssh/extended-basis/unstable/public/fn/thunk.sig (from rev 4912, mltonlib/trunk/com/ssh/extended-basis/unstable/public/thunk.sig)
Copied: mltonlib/trunk/com/ssh/extended-basis/unstable/public/fn/un-op.sig (from rev 4912, mltonlib/trunk/com/ssh/extended-basis/unstable/public/un-op.sig)
Copied: mltonlib/trunk/com/ssh/extended-basis/unstable/public/fn/un-pr.sig (from rev 4912, mltonlib/trunk/com/ssh/extended-basis/unstable/public/un-pr.sig)
Copied: mltonlib/trunk/com/ssh/extended-basis/unstable/public/generic/emb.sig (from rev 4912, mltonlib/trunk/com/ssh/extended-basis/unstable/public/emb.sig)
Copied: mltonlib/trunk/com/ssh/extended-basis/unstable/public/generic/fix.sig (from rev 4912, mltonlib/trunk/com/ssh/extended-basis/unstable/public/fix.sig)
Copied: mltonlib/trunk/com/ssh/extended-basis/unstable/public/generic/iso.sig (from rev 4912, mltonlib/trunk/com/ssh/extended-basis/unstable/public/iso.sig)
Copied: mltonlib/trunk/com/ssh/extended-basis/unstable/public/generic/tie.sig (from rev 4912, mltonlib/trunk/com/ssh/extended-basis/unstable/public/tie.sig)
Copied: mltonlib/trunk/com/ssh/extended-basis/unstable/public/lazy/promise.sig (from rev 4914, mltonlib/trunk/com/ssh/extended-basis/unstable/public/promise.sig)
Copied: mltonlib/trunk/com/ssh/extended-basis/unstable/public/numeric/int-inf.sig (from rev 4912, mltonlib/trunk/com/ssh/extended-basis/unstable/public/int-inf.sig)
Copied: mltonlib/trunk/com/ssh/extended-basis/unstable/public/numeric/integer.sig (from rev 4912, mltonlib/trunk/com/ssh/extended-basis/unstable/public/integer.sig)
Copied: mltonlib/trunk/com/ssh/extended-basis/unstable/public/numeric/real.sig (from rev 4912, mltonlib/trunk/com/ssh/extended-basis/unstable/public/real.sig)
Copied: mltonlib/trunk/com/ssh/extended-basis/unstable/public/numeric/word.sig (from rev 4912, mltonlib/trunk/com/ssh/extended-basis/unstable/public/word.sig)
Copied: mltonlib/trunk/com/ssh/extended-basis/unstable/public/sequence/array-slice.sig (from rev 4912, mltonlib/trunk/com/ssh/extended-basis/unstable/public/array-slice.sig)
Copied: mltonlib/trunk/com/ssh/extended-basis/unstable/public/sequence/array.sig (from rev 4912, mltonlib/trunk/com/ssh/extended-basis/unstable/public/array.sig)
Copied: mltonlib/trunk/com/ssh/extended-basis/unstable/public/sequence/buffer.sig (from rev 4915, mltonlib/trunk/com/ssh/extended-basis/unstable/public/buffer.sig)
Copied: mltonlib/trunk/com/ssh/extended-basis/unstable/public/sequence/list.sig (from rev 4912, mltonlib/trunk/com/ssh/extended-basis/unstable/public/list.sig)
Copied: mltonlib/trunk/com/ssh/extended-basis/unstable/public/sequence/mono-array-slice.sig (from rev 4912, mltonlib/trunk/com/ssh/extended-basis/unstable/public/mono-array-slice.sig)
Copied: mltonlib/trunk/com/ssh/extended-basis/unstable/public/sequence/mono-array.sig (from rev 4912, mltonlib/trunk/com/ssh/extended-basis/unstable/public/mono-array.sig)
Copied: mltonlib/trunk/com/ssh/extended-basis/unstable/public/sequence/mono-vector-slice.sig (from rev 4912, mltonlib/trunk/com/ssh/extended-basis/unstable/public/mono-vector-slice.sig)
Copied: mltonlib/trunk/com/ssh/extended-basis/unstable/public/sequence/mono-vector.sig (from rev 4912, mltonlib/trunk/com/ssh/extended-basis/unstable/public/mono-vector.sig)
Copied: mltonlib/trunk/com/ssh/extended-basis/unstable/public/sequence/vector-slice.sig (from rev 4912, mltonlib/trunk/com/ssh/extended-basis/unstable/public/vector-slice.sig)
Copied: mltonlib/trunk/com/ssh/extended-basis/unstable/public/sequence/vector.sig (from rev 4912, mltonlib/trunk/com/ssh/extended-basis/unstable/public/vector.sig)
Copied: mltonlib/trunk/com/ssh/extended-basis/unstable/public/text/char.sig (from rev 4912, mltonlib/trunk/com/ssh/extended-basis/unstable/public/char.sig)
Copied: mltonlib/trunk/com/ssh/extended-basis/unstable/public/text/string.sig (from rev 4912, mltonlib/trunk/com/ssh/extended-basis/unstable/public/string.sig)
===================================================================
--- mltonlib/trunk/com/ssh/extended-basis/unstable/public/string.sig 2006-12-08 22:52:19 UTC (rev 4912)
+++ mltonlib/trunk/com/ssh/extended-basis/unstable/public/text/string.sig 2006-12-10 18:59:08 UTC (rev 4916)
@@ -0,0 +1,61 @@
+(* Copyright (C) 2006 SSH Communications Security, Helsinki, Finland
+ *
+ * This code is released under the MLton license, a BSD-style license.
+ * See the LICENSE file or http://mlton.org/License for details.
+ *)
+
+(** Extended {STRING} signature. *)
+signature STRING = sig
+ include STRING
+
+ type t = string
+ (** Convenience alias. *)
+
+ (** == Embeddings == *)
+
+ val embCString : (t, t) Emb.t
+ (**
+ * An embedding of strings into C-style string literals. It is always
+ * equivalent to {(toCString, fromCString)}.
+ *)
+
+ val embString : (t, t) Emb.t
+ (**
+ * An embedding of strings into SML-style string literals. It is
+ * always equivalent to {(toString, fromString)}.
+ *)
+
+ (** == Isomorphisms == *)
+
+ val isoList : (t, Char.t List.t) Iso.t
+ (**
+ * An isomorphism between strings and lists. It is always equivalent
+ * to {(toList, fromList)}.
+ *)
+
+ (** == {MONO_VECTOR} == *)
+
+ type elem = char
+ type vector = t
+
+ val all : elem UnPr.t -> vector UnPr.t
+ val app : elem Effect.t -> vector Effect.t
+ val appi : (Int.t * elem) Effect.t -> vector Effect.t
+ val exists : elem UnPr.t -> vector UnPr.t
+ val find : elem UnPr.t -> vector -> elem Option.t
+ val findi : (Int.t * elem -> Bool.t) -> vector -> (Int.t * elem) Option.t
+ val foldl : (elem * 'a -> 'a) -> 'a -> vector -> 'a
+ val foldli : (Int.t * elem * 'a -> 'a) -> 'a -> vector -> 'a
+ val foldr : (elem * 'a -> 'a) -> 'a -> vector -> 'a
+ val foldri : (Int.t * elem * 'a -> 'a) -> 'a -> vector -> 'a
+ val fromList : elem List.t -> vector
+ val fromPoly : elem Vector.t -> vector
+ val isoPoly : (vector, elem Vector.t) Iso.t
+ val length : vector -> Int.t
+ val mapi : (Int.t * elem -> elem) -> vector UnOp.t
+ val maxLen : Int.t
+ val tabulate : Int.t * (Int.t -> elem) -> vector
+ val toList : vector -> elem List.t
+ val toPoly : vector -> elem Vector.t
+ val update : vector * Int.t * elem -> vector
+end
Copied: mltonlib/trunk/com/ssh/extended-basis/unstable/public/text/substring.sig (from rev 4912, mltonlib/trunk/com/ssh/extended-basis/unstable/public/substring.sig)
Copied: mltonlib/trunk/com/ssh/extended-basis/unstable/public/text/text.sig (from rev 4912, mltonlib/trunk/com/ssh/extended-basis/unstable/public/text.sig)
|
|
From: Vesa K. <ve...@ml...> - 2006-12-10 00:04:43
|
Added isEmpty, toList, and documentation.
----------------------------------------------------------------------
U mltonlib/trunk/com/ssh/extended-basis/unstable/detail/buffer.sml
U mltonlib/trunk/com/ssh/extended-basis/unstable/public/buffer.sig
----------------------------------------------------------------------
Modified: mltonlib/trunk/com/ssh/extended-basis/unstable/detail/buffer.sml
===================================================================
--- mltonlib/trunk/com/ssh/extended-basis/unstable/detail/buffer.sml 2006-12-10 07:51:30 UTC (rev 4914)
+++ mltonlib/trunk/com/ssh/extended-basis/unstable/detail/buffer.sml 2006-12-10 08:04:42 UTC (rev 4915)
@@ -11,6 +11,7 @@
fun duplicate (IN {length, data}) =
IN {length = ref (!length), data = ref (A.duplicate (!data))}
fun length (IN {length, ...}) = !length
+ fun isEmpty b = 0 = length b
fun data (IN {data, ...}) = !data
fun sub (b, i) = if length b <= i then raise Subscript else A.sub (data b, i)
local
@@ -57,6 +58,7 @@
fun mk tabulate b = tabulate (length b, fn i => sub (b, i))
in
fun toArray ? = mk A.tabulate ?
+ fun toList ? = mk List.tabulate ?
fun toVector ? = mk V.tabulate ?
end
end
Modified: mltonlib/trunk/com/ssh/extended-basis/unstable/public/buffer.sig
===================================================================
--- mltonlib/trunk/com/ssh/extended-basis/unstable/public/buffer.sig 2006-12-10 07:51:30 UTC (rev 4914)
+++ mltonlib/trunk/com/ssh/extended-basis/unstable/public/buffer.sig 2006-12-10 08:04:42 UTC (rev 4915)
@@ -7,24 +7,99 @@
(** Imperative dynamically growing buffer. *)
signature BUFFER = sig
type 'a t
+ (** The type of buffers. *)
+ (** == Constructors == *)
+
val new : 'a t Thunk.t
+ (** Creates a new empty buffer. *)
val duplicate : 'a t UnOp.t
+ (**
+ * Creates a new duplicate of the buffer. {duplicate b} is equivalent
+ * to {let val b' = new () in pushBuffer (b', b) end}.
+ *)
+ (** == Accessors == *)
+
+ val isEmpty : 'a t UnPr.t
+ (** {isEmpty b} is equivalent to {0 = length b}. *)
+
val length : 'a t -> Int.t
+ (** Returns the number of elements pushed into the buffer. *)
val sub : 'a t * Int.t -> 'a
+ (**
+ * {sub (b, i)} returns the {i}th element of the buffer {b}. If {i <
+ * 0} or {length b <= i}, then the {Subscript} exception is raised.
+ *)
+ (** == Conversions == *)
+
+ val toArray : 'a t -> 'a Array.t
+ (**
+ * Creates a new array of the contents of the buffer. {toArray b} is
+ * equivalent to {Array.fromList (toList b)}.
+ *)
+
+ val toList : 'a t -> 'a List.t
+ (**
+ * Returns the contents of the buffer as a list. {toList b} is
+ * equivalent to {List.tabulate (length b, b <\ sub)}.
+ *)
+
+ val toVector : 'a t -> 'a Vector.t
+ (**
+ * Returns the contents of the buffer as a vector. {toVector b} is
+ * equivalent to {Vector.fromList (toList b)}.
+ *)
+
+ (** == Adding Elements to a Buffer == *)
+
val push : ('a t * 'a) Effect.t
+ (**
+ * Adds an element to the tail of the buffer. More precisely, after
+ *
+ *> val cb = toList b
+ *> val () = push (b, v)
+ *> val ca = toList b
+ *
+ * it holds that {cb = init ca} and {last ca = v}.
+ *)
val pushArray : ('a t * 'a Array.t) Effect.t
+ (**
+ * Adds the elements of the array to the buffer. {pushArray (b, a)} is
+ * equivalent to {Array.app (b <\ push) a}.
+ *)
+
val pushArraySlice : ('a t * 'a ArraySlice.t) Effect.t
+ (**
+ * Adds the elements of the slice to the buffer. {pushArraySlice (b,
+ * s)} is equivalent to {ArraySlice.app (b <\ push) s}.
+ *)
+
val pushBuffer : ('a t * 'a t) Effect.t
+ (**
+ * Adds the elements of the buffer to the buffer. {pushVectorSlice (b,
+ * b')} is equivalent to {pushList (b, toList b')}.
+ *)
+
val pushList : ('a t * 'a List.t) Effect.t
+ (**
+ * Adds the elements of the list to the buffer. {pushList (b, l)} is
+ * equivalent to {List.app (b <\ push) l}.
+ *)
+
val pushVector : ('a t * 'a Vector.t) Effect.t
+ (**
+ * Adds the elements of the vector to the buffer. {pushVector (b, v)}
+ * is equivalent to {Vector.app (b <\ push) v}.
+ *)
+
val pushVectorSlice : ('a t * 'a VectorSlice.t) Effect.t
-
- val toArray : 'a t -> 'a Array.t
- val toVector : 'a t -> 'a Vector.t
+ (**
+ * Adds the elements of the slice to the buffer. {pushVectorSlice (b,
+ * s)} is equivalent to {VectorSlice.app (b <\ push) s}.
+ *)
end
|
|
From: Vesa K. <ve...@ml...> - 2006-12-09 23:51:31
|
Renamed the conversion function thunk to toThunk for consistency.
----------------------------------------------------------------------
U mltonlib/trunk/com/ssh/extended-basis/unstable/detail/promise.sml
U mltonlib/trunk/com/ssh/extended-basis/unstable/public/promise.sig
----------------------------------------------------------------------
Modified: mltonlib/trunk/com/ssh/extended-basis/unstable/detail/promise.sml
===================================================================
--- mltonlib/trunk/com/ssh/extended-basis/unstable/detail/promise.sml 2006-12-10 07:48:08 UTC (rev 4913)
+++ mltonlib/trunk/com/ssh/extended-basis/unstable/detail/promise.sml 2006-12-10 07:51:30 UTC (rev 4914)
@@ -28,7 +28,7 @@
| EAGER x => replay x
end
- fun thunk promise =
+ fun toThunk promise =
case !(!promise) of
EAGER s => Sum.sum (Fn.failing, Fn.const) s
| LAZY _ => fn () => force promise
Modified: mltonlib/trunk/com/ssh/extended-basis/unstable/public/promise.sig
===================================================================
--- mltonlib/trunk/com/ssh/extended-basis/unstable/public/promise.sig 2006-12-10 07:48:08 UTC (rev 4913)
+++ mltonlib/trunk/com/ssh/extended-basis/unstable/public/promise.sig 2006-12-10 07:51:30 UTC (rev 4914)
@@ -7,11 +7,10 @@
(**
* Lazy promises.
*
- * The design is based on SRFI-45 ``Primitives for Expressing Iterative Lazy
- * Algorithms'' by André van Tonder:
+ * The design is based on [http://srfi.schemers.org/srfi-45/ SRFI-45]
+ * ``Primitives for Expressing Iterative Lazy Algorithms'' by André van
+ * Tonder.
*
- * http://srfi.schemers.org/srfi-45/srfi-45.html
- *
* The general recipe to express lazy algorithms is to
* - wrap all constructors with {delay (fn () => ...)},
* - apply {force} to arguments of destructors, and
@@ -69,7 +68,7 @@
* deliver the resulting promise.
*)
- val thunk : 'a t -> 'a Thunk.t
+ val toThunk : 'a t -> 'a Thunk.t
(**
* Converts a promise into a thunk. This can be useful for working
* around the value restriction, for example.
|