Home My Page Projects Code Snippets Project Openings SML/NJ
Summary Activity Forums Tracker Lists Tasks Docs Surveys News SCM Files

SCM Repository

[smlnj] Annotation of /sml/trunk/src/smlnj-lib/CHANGES
ViewVC logotype

Annotation of /sml/trunk/src/smlnj-lib/CHANGES

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1334 - (view) (download)

1 : monnier 2 This is a list of changes to the SML/NJ Library; the version numbers
2 :     correspond to SML/NJ releases.
3 :    
4 : monnier 498 --------------------------------------------------------------------------------
5 : mblume 1334 [2003-05-22]
6 :     More cleanup (all in the name of eliminating incomplete matches):
7 :     - in HTML/html-attrs-fn.sml: fill in missing patterns in two
8 :     case expressions
9 :     - in HTML/html-gram: rewrote function groupDefListContents
10 :     to avoid the (unnecessary) incomplete match
11 :     - in PP/devices/html-dev.sml: made the implementation of popStyle
12 :     agree with the comment above it (popStyle on an empty
13 :     stack is supposed to be a nop)
14 :     - in PP/src/pp-stram-fn.sml: function setSize: handle case of
15 :     an empty scatStk
16 :     - in Util/prime-sizes.sml: raise Fail exceptions instead of
17 :     Match exceptions when reaching the end of a list
18 :     (Perhaps this should eventually be rewritten using an on-demand
19 :     prime-number generator that kicks when needed.)
20 : jhr 751
21 : jhr 1333 [2003-05-22]
22 :     Cleanup logic in Scan.scanf function.
23 :    
24 : jhr 1268 [2002-10-03]
25 :     Fixed bug in formating reals with the %g format.
26 :    
27 : jhr 1248 [2002-06-18]
28 :     Fixed a bug in MatchTree.nth (regexp library). Thanks to
29 :     Sami Nopanen.
30 :    
31 : jhr 1206 [2002-05-20]
32 : jhr 1209 Fixed bug in IntInf module: scanning of hex literals was not
33 :     handling "0x" prefixes.
34 :    
35 :     [2002-05-20]
36 : jhr 1206 Added ControlUtil module and stringControls function.
37 :    
38 : jhr 1194 [2002-05-17]
39 : jhr 1199 Added tyName field to ValueSyntax exception in Controls module
40 :     and path field to registry tree in ControlRegistry module.
41 : jhr 1195
42 :     [2002-05-17]
43 : jhr 1194 Added == and != operators to INT_INF interface. These are a
44 :     placeholder until IntInf moves into the SML/NJ compiler.
45 :    
46 : jhr 1193 [2002-05-16]
47 :     Added mergeWith function to ORD_MAP interface.
48 :    
49 :     [2002-05-15]
50 :     Revised Controls library.
51 :    
52 :     [2002-04-17]
53 :     Added Matthias Blume's implementation of Danvey-style format
54 :     combinators to the Util library.
55 :    
56 :     [2002-03-14]
57 :     Merged in Matthias Blume's Controls library. Warning: the API
58 :     to this library is likely to change as we get some experience
59 :     with it.
60 :    
61 :     [2002-03-11]
62 :     Added consR1 .. consR5 functions to HashCons library. These
63 :     can be used to hash-cons record types.
64 :    
65 : jhr 1081 [2002-02-21]
66 :     Fixed infinite loop in LeftPriorityQFn.fromList when given a
67 :     singleton list as input (Chris Okasaki provided the fix).
68 : blume 1077
69 :     [2002-02-12]
70 : jhr 1061 Added implementation of priority queues to Util library (using
71 :     Okasaki's leftist-tree implementation).
72 :    
73 : jhr 967 [2001-10-19]
74 :     Added new HashCons library.
75 :    
76 :     [2001-10-19]
77 :     Added PrimeSizes module to Util library.
78 :    
79 :     [2001-09-27]
80 :     Fixed bug in UnixEnv module (reported by Leunga).
81 :    
82 :     [2001-05-05]
83 :     Added addrToString function to SockUtil module in INet library.
84 :    
85 : jhr 816 [2001-05-04]
86 :     Modified GraphSCC module to support a list of roots (Blume).
87 :     The old interface still works, but will be dropped when we move
88 :     to the new Util library.
89 :    
90 :     [2001-04-06]
91 :     Added partition function to ORD_SET interface.
92 :    
93 :     [2001-04-05]
94 :     Added hasProps function to PropList module.
95 :    
96 :     [2001-03-16]
97 :     Minor bug fix in GetOpt: don't pad the help string, since it causes
98 :     line wraps when one of the help lines is longer than the screen
99 :     width. It was also unneccesary.
100 :    
101 :     [2001-02-23]
102 :     Added inDomain function to the various kinds of hash tables.
103 :    
104 : jhr 785 [2001-02-22]
105 :     Fixed bug in {Int,Word}RedBlackMapFn.insert (bug 1591).
106 :    
107 : jhr 784 [2000-12-13]
108 : jhr 816 Added the bit operations to the IntInf module (Leung).
109 : jhr 784
110 : jhr 751 [2000-11-17]
111 :     Added where clause to GraphSCCFn result signature (Blume).
112 :    
113 :     [2000-10-20]
114 :     Made the result signature of the RegExpFn functor be opaque.
115 :    
116 :     [2000-09-28]
117 :     SML/NJ 110.0.7 release.
118 :    
119 : jhr 702 [2000-09-02]
120 :     Added Word versions of hash tables (WordHashTable), finite
121 :     maps (WordRedBlackMap), and sets (WordRedBlackSet).
122 :    
123 :     [2000-09-02]
124 :     fixed bug in Format module (infinity caused infinite loop).
125 :    
126 :     [2000-07-19]
127 :     added anchored paths in CM files for NEW_CM.
128 :    
129 : jhr 688 [2000-06-30]
130 :     added implementation of LWORD in Format module.
131 :    
132 :     [2000-05-16]
133 :     Fixed bug in dfa-engine.sml (bug number 1559).
134 :    
135 :     [2000-05-08]
136 :     Added setFn to PList.newProp return type.
137 :    
138 :     [2000-05-05]
139 :     Added sameHolder function to PropList module.
140 :    
141 : jhr 596 [2000-04-05]
142 :     Fixed a bug in the filter/filteri hash table functions: the number
143 :     of items in the table was not being recomputed.
144 :    
145 :     [2000-04-04]
146 :     Added modify and modifyi iterators to hash tables.
147 :    
148 :     [2000-03-28]
149 :     Added anchorLink style to HTMLDev structure in PP/devices.
150 :    
151 : monnier 498 [1999-12-03]
152 :     Added IntHashTable structure to Util library; this structure is
153 :     a specialization of hash tables to integer keys.
154 : monnier 2
155 : monnier 498 [1999-12-03]
156 :     Added default cases to avoid "match not exhaustive" warnings.
157 :    
158 :     [1999-12-03]
159 :     Added GraphSCCFn functor to Util library, which implements a
160 :     strongly-connected components algorithm on directed graphs (written
161 :     by Matthias Blume).
162 :    
163 :     [1999-11-10]
164 :     Fixed a benign type error in RegExp/BackEnd/fsm.sml that was exposed by
165 :     the previous change.
166 :    
167 :     [1999-11-7]
168 :     Made the result signatures of ListSetFn and ListMapFn opaque.
169 :    
170 :     [1999-11-1]
171 :     Fixed bug in PP/devices/sources.cm under new CM (missing smlnj-lib.cm).
172 :    
173 : monnier 475 [1999-10-20]
174 :     Fixed bug in RedBlack trees (the linear time construction of
175 :     trees from ordered sequences was producing backwards trees).
176 :    
177 :     [1999-10-18]
178 :     Changed UREF signature so that union, unify, and link operations
179 :     now return a boolean.
180 :    
181 :     [1999-10-18]
182 :     Added peekFn to PropList.newProp return result.
183 :    
184 :     [1999-10-14]
185 :     Added TextIOPP structure to pp-lib.cm (it was not being exported).
186 :    
187 : monnier 469 [1999-09-21]
188 :     Changed the getOpt API. Errors are now reported using a callback
189 :     and both usage and getOpt take records as arguments. Also changed
190 :     the NoArg descriptor to take a function so that imperative argument
191 :     processing can be supported.
192 :    
193 :     [1999-09-20]
194 :     Changed CM files to be compatible with both the old (110.0.x) and
195 :     new (110.20+) versions of CM.
196 :    
197 :     [1999-09-17]
198 :     Added PropList:PROP_LIST structure. This structure implements
199 :     property lists using Stephen Weeks's technique.
200 :    
201 :     [1999-09-17]
202 :     Improved the red-black tree implementations with linear-time union,
203 :     intersection, difference, and filter operations. Also reimplemented
204 :     the delete function in a way that does not require an extra constructor.
205 :    
206 :     [1999-09-09]
207 :     Added Red-Black-Tree implementation of sets and maps. Two new
208 :     functors (RedBlackMapFn and RedBlackSetFn) and four new structures
209 :     (IntRedBlackMap, IntRedBlackSet, AtomIntRedBlackMap, and IntRedBlackSet).
210 :     Also added aliases AtomMap and AtomSet that for the RB implementations.
211 :    
212 :     [1999-09-03]
213 :     Added missing support for WORD and WORD8 format items to Format structure.
214 :     Still need to handle LWORD items!!
215 :    
216 :     [1999-08-17]
217 :     Added DynamicArray:DYNAMIC_ARRAY structure.
218 :    
219 : monnier 411 [1999-07-06]
220 :     Added declarative representation of pretty-printing to PPStreamFn.
221 :     This replaces the PPDescFn and PP_DESC components (which were not
222 :     implemented anyway).
223 :    
224 :     [1999-07-02]
225 :     Moved SockUtil structure into a new INet library. Also split out the
226 :     Unix-specific socket operations into a UnixSockUtil module. (Sockets
227 :     are now supported on Win32).
228 :    
229 :     [1999-06-17]
230 :     Added listKeys function to ORD_MAP API.
231 :    
232 :     [1999-06-14]
233 :     Added Riccardo Pucella's GetOpt structure to Util library.
234 :    
235 :     [1999-06-14]
236 :     Added singleton and inDomain functions to ORD_MAP API.
237 :    
238 :     [1999-06-02]
239 :     Merged in some bug fixes from the compiler's version of the IntInf
240 :     structure.
241 :    
242 : monnier 289 [1999-05-05]
243 :     Fixed a couple of bugs in the PP library having to do with nesting
244 :     absolute and relative indentations.
245 :    
246 :     [1999-04-21]
247 :     Added a way to pass control information to a PP device via the PP
248 :     stream (function control in PP_STREAM).
249 :    
250 :     [1999-04-16]
251 :     Added better style support to the HTML PP device.
252 :    
253 :     [1998-09-04]
254 :     Added isEmpty predicate and first fucntion to ORD_MAP
255 :     signature (and to implementations).
256 :    
257 :     [1998-06-23]
258 :     Fixed a bug in ParserComb.bind (reported by Andrew Kennedy).
259 :    
260 :     --------------------------------------------------------------------------------
261 : monnier 106 [1998-04-15] 110 --> 110.5
262 :     --------------------------
263 :    
264 :     There is now a regular expression library (mostly implemented by Riccardo
265 :     Pucella). The implementation separates front-ends (which specify the
266 :     syntax of REs) from back-ends (which implement the matching algorithms).
267 :     Currently, we support AWK syntax as the only front-end and two different
268 :     back-ends.
269 :    
270 :     Added an implementation of the SML/NJ PP API to the pretty-printer examples.
271 :    
272 :     Fixed a bug in the IntInf structure with scanning strings of the form "1+2".
273 :     Also did some clean-up of the code.
274 :    
275 :    
276 :     --------------------------------------------------------------------------------
277 : monnier 8 [1997-12-07] 109.32 --> 110
278 :     ---------------------------
279 :    
280 : monnier 29 Added the function add' to the ORD_SET signature and the function insert'
281 :     to the ORD_MAP signature. These functions fit the pattern of the fold
282 :     functions. (110 patch 3)
283 :    
284 :     Added the IntInf:INT_INF structure to the Util library. This is a subset
285 :     of the optional IntInf structure defined by the SML'97 basis.
286 :    
287 :     Changed the Rand structure to use words as seeds and results. This also
288 :     fixes bug 1047. (110 patch 3)
289 :    
290 : monnier 8 Added a clear operation to the Queue and various hash table structures.
291 :    
292 :     Changed the ListFormat.formatList to ListFormat.fmt and ListFormat.scanList
293 :     to ListFormat.scan. Added the function ListFormat.listToString.
294 :    
295 :     Updated the HTML library to the final 3.2 specification. This involved adding
296 :     a new BODY element type (with attributes). Also, removed the header/footer
297 :     arguments to the pretty-printer (they were a gross hack).
298 :    
299 :     Added PathUtil structure to Util library. This is a more general version
300 :     of the old UnixPath module.
301 :    
302 :    
303 :     --------------------------------------------------------------------------------
304 :     [1997-10-01] 109.31 --> 109.32
305 :     ------------------------------
306 :    
307 :     Changed the type of the exec instruction in the Reactive library.
308 :    
309 :    
310 :     --------------------------------------------------------------------------------
311 : monnier 2 [1997-09-09] 109.30 --> 109.31
312 :     ------------------------------
313 :    
314 :     Added the Reactive library, which supports reactive scripting. This is a
315 :     first cut, and hasn't been extensively tested.
316 :    
317 :     Changed the names of SockUtil.sock{Recv,Send}* to SockUtil.{recv,send}*
318 :     (since the sock prefix was redundant).
319 :    
320 :     Added some bug fixes to IntListSet that had previously been added to
321 :     the ListSetFn implementation.
322 :    
323 :    
324 :     --------------------------------------------------------------------------------
325 :     [1997-07-17] 109.29 --> 109.30
326 :     ------------------------------
327 :    
328 :     Added a missing case to {ListSetFn,IntListSet}.isSubset.
329 :    
330 :     The bug fix for unionWith was broken. I think I've got it right this
331 :     time.
332 :    
333 :    
334 :     --------------------------------------------------------------------------------
335 :     [1997-07-17] 109.29 --> 109.30
336 :     ------------------------------
337 :    
338 :     Fixed a bug in the binary-tree and splay-tree implementations of the
339 :     unionWith[i] and intersectWith[i] functions. The bug caused the order
340 :     of arguments to the merging function to be wrong in some cases.
341 :    
342 :     Fixed uses of System.Unsafe.
343 :    
344 :     Removed Array2:ARRAY2 from Util library, since the basis now defines these.
345 :    
346 :     Added MonoArrayFn functor for easy creation of monomorphic array structures.
347 :    
348 :     Added Atom.atom' operation for turning substrings into atoms.
349 :    
350 :    
351 :     --------------------------------------------------------------------------------
352 :     [1997-06-13] 109.28 --> 109.29
353 :     ------------------------------
354 :    
355 :     Added collate operation to ORD_MAP signature.
356 :    
357 :     Added compare operation to ORD_SET signature.
358 :    
359 :     Changed the type of and intersectWith[i] in the ORD_MAP signature to be
360 :     more general.
361 :    
362 :     Changed the type of the map function in the ORD_SET signature to return
363 :     a new set (instead of a list).
364 :    
365 :    
366 :     --------------------------------------------------------------------------------
367 :     [1997-05-22] 109.27 --> 109.28
368 :     ------------------------------
369 :    
370 :     Changed various sharing constraints to "where type" definitions to
371 :     compile in SML'97.
372 :    
373 :     Added AtomBinaryMap and AtomBinarySet structures to Util library.
374 :    
375 :    
376 :     --------------------------------------------------------------------------------
377 :     [1997-03-03] 109.25.1 --> 109.25.2
378 :     ----------------------------------
379 :    
380 :     Changed Util/time-limit.sml to reflect new location of callcc/throw.
381 :    
382 :    
383 :     --------------------------------------------------------------------------------
384 :     [1997-02-25] 109.25 --> 109.25.1
385 :     --------------------------------
386 :    
387 :     Added a bunch of new operations to the ordered map modules (BinaryMapFn,
388 :     IntBinaryMap, ListMapFn, IntListFn, and SplayMapFn). The new operations
389 :     are:
390 :     val unionWith : ('a * 'a -> 'a) -> ('a map * 'a map) -> 'a map
391 :     val unionWithi : (Key.ord_key * 'a * 'a -> 'a) -> ('a map * 'a map) -> 'a map
392 :     val intersectWith : ('a * 'a -> 'a) -> ('a map * 'a map) -> 'a map
393 :     val intersectWithi : (Key.ord_key * 'a * 'a -> 'a) -> ('a map * 'a map) -> 'a map
394 :     val filter : ('a -> bool) -> 'a map -> 'a map
395 :     val filteri : (Key.ord_key * 'a -> bool) -> 'a map -> 'a map
396 :     val mapPartial : ('a -> 'b option) -> 'a map -> 'b map
397 :     val mapPartiali : (Key.ord_key * 'a -> 'b option) -> 'a map -> 'b map
398 :    
399 :     Added IOUtil : IO_UTIL structure to the Util library. This provides
400 :     support for dynamically rebinding stdIn and stdOut.
401 :    
402 :     Added KeywordFn functor to the Util library. This provides support for
403 :     implementing scanners, where keyword recognition is done outside the
404 :     basic lexical analysis.
405 :    
406 :     Fixed several bugs in the ListSetFn functor.
407 :    
408 :    
409 :     --------------------------------------------------------------------------------
410 :     [1997-01-10] 109.23 --> 109.24
411 :     ------------------------------
412 :    
413 :     Changed the HASH_TABLE, MONO_HASH_TABLE, MONO_HASH2_TABLE, and ORD_MAP
414 :     interfaces to provide two forms of the listItems function. listItemsi
415 :     returns a list of (key, value) pairs and listItems returns just the values.
416 :     The previous version of listItems was like listItemsi.
417 :    
418 :     Added a missing case for BASEFONT in CheckHTMLFn.check.
419 :    
420 :    
421 :     --------------------------------------------------------------------------------
422 :     [1996-12-07] 109.21.1 --> 109.22
423 :     --------------------------------
424 :    
425 :     Changed the MONO_DYNAMIC_ARRAY signature to make array an eqtype (also changed
426 :     the implementation of DynamicArrayFn).
427 :    
428 :     Fixed a bug in Array2.column
429 :    
430 :    
431 :     --------------------------------------------------------------------------------
432 :     [1996-10-18] 109.19 --> 109.20
433 :     ------------------------------
434 :    
435 :     Added functions for sending/receiving strings over TCP sockets to the
436 :     SockUtil structure.
437 :    
438 :     Fixed a bug with reading on a closed socket in SockUtil.sockRecvVec
439 :    
440 :     Fixed a bug in the implementation of the intersection operation
441 :     in binary sets (BinarySetFn and IntBinarySet).
442 :    
443 :    
444 :     --------------------------------------------------------------------------------
445 :     [1996-10-01] 109.18 --> 109.19
446 :     ------------------------------
447 :    
448 :     Updated the HTML library to the August 21 version of the 3.2 DTD.
449 :    
450 :     Added html-defaults.sml to the HTML Library.
451 :    
452 :     Added Parsing combinators to the Util library.
453 :    
454 :     Added Socket utilities to the Unix library.
455 :    

root@smlnj-gforge.cs.uchicago.edu
ViewVC Help
Powered by ViewVC 1.0.0