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 /smlnj-lib/trunk/CHANGES
ViewVC logotype

Annotation of /smlnj-lib/trunk/CHANGES

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2918 - (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 : jhr 1340 --------------------------------------------------------------------------------
4 : jhr 1732
5 : blume 2918 [2007-12-13]
6 :     Added "elem" function as an inverse to "glue" to FormatComb module.
7 :     This makes writing extensions possible. Also added "list" and "option"
8 :     combinators for formatting list- and option types.
9 :    
10 : jhr 2832 [2007-11-02]
11 : jhr 2830 A collection of bug fixes for machine.sml in the Reactive library.
12 :     (Thanks to Timothy Bourke)
13 :    
14 : jhr 2547 [2007-05-15]
15 :     Made the UnixPath.path_list type concrete (= string list).
16 :    
17 : jhr 2449 [2007-04-24]
18 :     Added next function to Fifo and Queue modules.
19 :    
20 : jhr 2337 [2007-02-15]
21 :     Removed vestigial IntInf and INT_INF definitions.
22 :    
23 : jhr 2332 [2007-02-14]
24 :     Changed the representation type of UTF8.wchar from Word32.word to word.
25 :     Also added the UTF8.maxCodePoint value.
26 :    
27 : jhr 2272 [2007-01-30]
28 : jhr 2274 Added the lookup function to the ORD_MAP interface.
29 :    
30 :     [2007-01-30]
31 : jhr 2272 Added the fromList function to the ORD_SET interface. For the red-black
32 :     tree and list based implementations, this operation is linear for ordered
33 :     inputs.
34 :    
35 : jhr 2270 [2007-01-28]
36 :     Added UTF8 signature and structure.
37 :    
38 : jhr 1861 [2005-11-07]
39 :     Internal change: replaced uses of the depreciated Substring.all
40 :     with the Substring.full
41 :    
42 : jhr 1857 [2005-11-05]
43 :     Tweaking of the interval set API. Added iterators on items and
44 :     changed the iterators on intervals to have a "Int" suffix.
45 :     Changed addInterval to addInt, changed list to intervals. Added
46 :     the items function.
47 :    
48 : jhr 1853 [2005-10-31]
49 :     Fixed a bug in IntervalSetFn().intersect.
50 :    
51 : jhr 1840 [2005-10-25]
52 :     Added interval sets to utility library (signatures INTERVAL_DOMAIN
53 :     and INTERVAL_SET, and functor IntervalSetFn).
54 :    
55 : jhr 1833 [2005-08-04]
56 :     Renamed graph-scc.sml to graph-scc-fn.sml.
57 :    
58 : jhr 1830 [2005-07-23]
59 :     Fix PP library to export ANSITermDev, ANSITermPP, PPDescFn, and
60 :     PP_DESC. Also add nbSpace to PP_DESC signature.
61 :    
62 : jhr 1816 [2005-07-12]
63 :     Added ANSITermDev device that uses ANSI terminal display attributes
64 :     and added a ANSITermPP for pretty printing to such a device.
65 :    
66 : jhr 1809 [2005-07-06]
67 : jhr 1810 Added ANSITerm structure, which provides support for ANSI terminal
68 :     display attributes (e.g., red text).
69 :    
70 :     [2005-07-06]
71 : jhr 1809 Refactored the pretty printing library. The declarative way to
72 :     construct pretty-printing descriptions now sits on top of the
73 :     PP_STREAM interface. Also removed "onNewline" function, which
74 :     was not implemented.
75 :    
76 : jhr 1788 [2005-05-05]
77 :     Added singleton function to MONO_PRIORITYQ interface.
78 :    
79 : mblume 1783 [2005-05-04]
80 :     Added the "join" combinator to ParserComb.
81 :    
82 : jhr 1772 [2005-03-21]
83 :     Fixed a bug in GetOpt.getOpt. The argument processing functions
84 :     for ReqArg and OptArg, and the embedding function for ReturnInOrder
85 :     were getting applied to all arguments, even past a "--".
86 :    
87 : jhr 1756 [2005-02-11]
88 :     Added Atom.same and Atom.lexCompare to the Atom structure. Eventually,
89 :     Atom.sameAtom will be removed.
90 :    
91 : jhr 1732 [2004-12-15]
92 :     Change HashString.hashString' to hashSubstring.
93 :    
94 : mblume 1720 [2004-12-09]
95 :     Added two simple statistics modules:
96 :     * RealOrderStats implements selection of arbitrary order
97 :     statistics as well as the median of an array of reals
98 :     in randomized linear time.
99 :     * UnivariateStats implements mean, variance, standard and average
100 :     deviation, skew, kurtosis, and median of a univariate sample
101 :     (i.e., a set of reals).
102 :    
103 : mblume 1718 [2004-11-29]
104 :     Added HashString.hashString' for substrings.
105 :     Hand-inlined CharVector.fold into HashString for efficiency.
106 :     Modified atom.sml so that Atom.atom' first tries to find an
107 :     existing atom before turning its argument into a string. [-blume]
108 :    
109 : mblume 1350 [2003-09-03]
110 :     Minor modifications to random.sml due to changes to some
111 :     Basis interfaces (slices).
112 :     Significant surgery on bit-array.sml to make it compile with
113 :     new signature MONO_ARRAY. This will require further cleanup
114 :     in the future.
115 : monnier 2
116 : mblume 1350 [2003-08-28]
117 :     Made compilation of int-inf* conditional. (The Basis now has
118 :     a spec-conforming implementation of IntInf, so the one here is
119 :     no longer needed.) [-blume]
120 :    
121 : jhr 1340 [2003-07-31]
122 :     Added getDevice function to PP_STREAM signature.
123 :    
124 : mblume 1335 [2003-05-27]
125 :     Avoid poly-eq in Util/parser-comb.sml.
126 :    
127 : mblume 1334 [2003-05-22]
128 :     More cleanup (all in the name of eliminating incomplete matches):
129 :     - in HTML/html-attrs-fn.sml: fill in missing patterns in two
130 :     case expressions
131 :     - in HTML/html-gram: rewrote function groupDefListContents
132 :     to avoid the (unnecessary) incomplete match
133 :     - in PP/devices/html-dev.sml: made the implementation of popStyle
134 :     agree with the comment above it (popStyle on an empty
135 :     stack is supposed to be a nop)
136 : jhr 1340 - in PP/src/pp-stream-fn.sml: function setSize: handle case of
137 :     an empty scanStk
138 : mblume 1334 - in Util/prime-sizes.sml: raise Fail exceptions instead of
139 :     Match exceptions when reaching the end of a list
140 :     (Perhaps this should eventually be rewritten using an on-demand
141 :     prime-number generator that kicks when needed.)
142 : jhr 751
143 : jhr 1333 [2003-05-22]
144 :     Cleanup logic in Scan.scanf function.
145 :    
146 : jhr 1268 [2002-10-03]
147 :     Fixed bug in formating reals with the %g format.
148 :    
149 : jhr 1248 [2002-06-18]
150 :     Fixed a bug in MatchTree.nth (regexp library). Thanks to
151 :     Sami Nopanen.
152 :    
153 : jhr 1206 [2002-05-20]
154 : jhr 1209 Fixed bug in IntInf module: scanning of hex literals was not
155 :     handling "0x" prefixes.
156 :    
157 :     [2002-05-20]
158 : jhr 1206 Added ControlUtil module and stringControls function.
159 :    
160 : jhr 1194 [2002-05-17]
161 : jhr 1199 Added tyName field to ValueSyntax exception in Controls module
162 :     and path field to registry tree in ControlRegistry module.
163 : jhr 1195
164 :     [2002-05-17]
165 : jhr 1194 Added == and != operators to INT_INF interface. These are a
166 :     placeholder until IntInf moves into the SML/NJ compiler.
167 :    
168 : jhr 1193 [2002-05-16]
169 :     Added mergeWith function to ORD_MAP interface.
170 :    
171 :     [2002-05-15]
172 :     Revised Controls library.
173 :    
174 :     [2002-04-17]
175 :     Added Matthias Blume's implementation of Danvey-style format
176 :     combinators to the Util library.
177 :    
178 :     [2002-03-14]
179 :     Merged in Matthias Blume's Controls library. Warning: the API
180 :     to this library is likely to change as we get some experience
181 :     with it.
182 :    
183 :     [2002-03-11]
184 :     Added consR1 .. consR5 functions to HashCons library. These
185 :     can be used to hash-cons record types.
186 :    
187 : jhr 1081 [2002-02-21]
188 :     Fixed infinite loop in LeftPriorityQFn.fromList when given a
189 :     singleton list as input (Chris Okasaki provided the fix).
190 : blume 1077
191 :     [2002-02-12]
192 : jhr 1061 Added implementation of priority queues to Util library (using
193 :     Okasaki's leftist-tree implementation).
194 :    
195 : jhr 967 [2001-10-19]
196 :     Added new HashCons library.
197 :    
198 :     [2001-10-19]
199 :     Added PrimeSizes module to Util library.
200 :    
201 :     [2001-09-27]
202 :     Fixed bug in UnixEnv module (reported by Leunga).
203 :    
204 :     [2001-05-05]
205 :     Added addrToString function to SockUtil module in INet library.
206 :    
207 : jhr 816 [2001-05-04]
208 :     Modified GraphSCC module to support a list of roots (Blume).
209 :     The old interface still works, but will be dropped when we move
210 :     to the new Util library.
211 :    
212 :     [2001-04-06]
213 :     Added partition function to ORD_SET interface.
214 :    
215 :     [2001-04-05]
216 :     Added hasProps function to PropList module.
217 :    
218 :     [2001-03-16]
219 :     Minor bug fix in GetOpt: don't pad the help string, since it causes
220 :     line wraps when one of the help lines is longer than the screen
221 :     width. It was also unneccesary.
222 :    
223 :     [2001-02-23]
224 :     Added inDomain function to the various kinds of hash tables.
225 :    
226 : jhr 785 [2001-02-22]
227 :     Fixed bug in {Int,Word}RedBlackMapFn.insert (bug 1591).
228 :    
229 : jhr 784 [2000-12-13]
230 : jhr 816 Added the bit operations to the IntInf module (Leung).
231 : jhr 784
232 : jhr 751 [2000-11-17]
233 :     Added where clause to GraphSCCFn result signature (Blume).
234 :    
235 :     [2000-10-20]
236 :     Made the result signature of the RegExpFn functor be opaque.
237 :    
238 :     [2000-09-28]
239 :     SML/NJ 110.0.7 release.
240 :    
241 : jhr 702 [2000-09-02]
242 :     Added Word versions of hash tables (WordHashTable), finite
243 :     maps (WordRedBlackMap), and sets (WordRedBlackSet).
244 :    
245 :     [2000-09-02]
246 :     fixed bug in Format module (infinity caused infinite loop).
247 :    
248 :     [2000-07-19]
249 :     added anchored paths in CM files for NEW_CM.
250 :    
251 : jhr 688 [2000-06-30]
252 :     added implementation of LWORD in Format module.
253 :    
254 :     [2000-05-16]
255 :     Fixed bug in dfa-engine.sml (bug number 1559).
256 :    
257 :     [2000-05-08]
258 :     Added setFn to PList.newProp return type.
259 :    
260 :     [2000-05-05]
261 :     Added sameHolder function to PropList module.
262 :    
263 : jhr 596 [2000-04-05]
264 :     Fixed a bug in the filter/filteri hash table functions: the number
265 :     of items in the table was not being recomputed.
266 :    
267 :     [2000-04-04]
268 :     Added modify and modifyi iterators to hash tables.
269 :    
270 :     [2000-03-28]
271 :     Added anchorLink style to HTMLDev structure in PP/devices.
272 :    
273 : monnier 498 [1999-12-03]
274 :     Added IntHashTable structure to Util library; this structure is
275 :     a specialization of hash tables to integer keys.
276 : monnier 2
277 : monnier 498 [1999-12-03]
278 :     Added default cases to avoid "match not exhaustive" warnings.
279 :    
280 :     [1999-12-03]
281 :     Added GraphSCCFn functor to Util library, which implements a
282 :     strongly-connected components algorithm on directed graphs (written
283 :     by Matthias Blume).
284 :    
285 :     [1999-11-10]
286 :     Fixed a benign type error in RegExp/BackEnd/fsm.sml that was exposed by
287 :     the previous change.
288 :    
289 :     [1999-11-7]
290 :     Made the result signatures of ListSetFn and ListMapFn opaque.
291 :    
292 :     [1999-11-1]
293 :     Fixed bug in PP/devices/sources.cm under new CM (missing smlnj-lib.cm).
294 :    
295 : monnier 475 [1999-10-20]
296 :     Fixed bug in RedBlack trees (the linear time construction of
297 :     trees from ordered sequences was producing backwards trees).
298 :    
299 :     [1999-10-18]
300 :     Changed UREF signature so that union, unify, and link operations
301 :     now return a boolean.
302 :    
303 :     [1999-10-18]
304 :     Added peekFn to PropList.newProp return result.
305 :    
306 :     [1999-10-14]
307 :     Added TextIOPP structure to pp-lib.cm (it was not being exported).
308 :    
309 : monnier 469 [1999-09-21]
310 :     Changed the getOpt API. Errors are now reported using a callback
311 :     and both usage and getOpt take records as arguments. Also changed
312 :     the NoArg descriptor to take a function so that imperative argument
313 :     processing can be supported.
314 :    
315 :     [1999-09-20]
316 :     Changed CM files to be compatible with both the old (110.0.x) and
317 :     new (110.20+) versions of CM.
318 :    
319 :     [1999-09-17]
320 :     Added PropList:PROP_LIST structure. This structure implements
321 :     property lists using Stephen Weeks's technique.
322 :    
323 :     [1999-09-17]
324 :     Improved the red-black tree implementations with linear-time union,
325 :     intersection, difference, and filter operations. Also reimplemented
326 :     the delete function in a way that does not require an extra constructor.
327 :    
328 :     [1999-09-09]
329 :     Added Red-Black-Tree implementation of sets and maps. Two new
330 :     functors (RedBlackMapFn and RedBlackSetFn) and four new structures
331 :     (IntRedBlackMap, IntRedBlackSet, AtomIntRedBlackMap, and IntRedBlackSet).
332 :     Also added aliases AtomMap and AtomSet that for the RB implementations.
333 :    
334 :     [1999-09-03]
335 :     Added missing support for WORD and WORD8 format items to Format structure.
336 :     Still need to handle LWORD items!!
337 :    
338 :     [1999-08-17]
339 :     Added DynamicArray:DYNAMIC_ARRAY structure.
340 :    
341 : monnier 411 [1999-07-06]
342 :     Added declarative representation of pretty-printing to PPStreamFn.
343 :     This replaces the PPDescFn and PP_DESC components (which were not
344 :     implemented anyway).
345 :    
346 :     [1999-07-02]
347 :     Moved SockUtil structure into a new INet library. Also split out the
348 :     Unix-specific socket operations into a UnixSockUtil module. (Sockets
349 :     are now supported on Win32).
350 :    
351 :     [1999-06-17]
352 :     Added listKeys function to ORD_MAP API.
353 :    
354 :     [1999-06-14]
355 :     Added Riccardo Pucella's GetOpt structure to Util library.
356 :    
357 :     [1999-06-14]
358 :     Added singleton and inDomain functions to ORD_MAP API.
359 :    
360 :     [1999-06-02]
361 :     Merged in some bug fixes from the compiler's version of the IntInf
362 :     structure.
363 :    
364 : monnier 289 [1999-05-05]
365 :     Fixed a couple of bugs in the PP library having to do with nesting
366 :     absolute and relative indentations.
367 :    
368 :     [1999-04-21]
369 :     Added a way to pass control information to a PP device via the PP
370 :     stream (function control in PP_STREAM).
371 :    
372 :     [1999-04-16]
373 :     Added better style support to the HTML PP device.
374 :    
375 :     [1998-09-04]
376 :     Added isEmpty predicate and first fucntion to ORD_MAP
377 :     signature (and to implementations).
378 :    
379 :     [1998-06-23]
380 :     Fixed a bug in ParserComb.bind (reported by Andrew Kennedy).
381 :    
382 :     --------------------------------------------------------------------------------
383 : monnier 106 [1998-04-15] 110 --> 110.5
384 :     --------------------------
385 :    
386 :     There is now a regular expression library (mostly implemented by Riccardo
387 :     Pucella). The implementation separates front-ends (which specify the
388 :     syntax of REs) from back-ends (which implement the matching algorithms).
389 :     Currently, we support AWK syntax as the only front-end and two different
390 :     back-ends.
391 :    
392 :     Added an implementation of the SML/NJ PP API to the pretty-printer examples.
393 :    
394 :     Fixed a bug in the IntInf structure with scanning strings of the form "1+2".
395 :     Also did some clean-up of the code.
396 :    
397 :    
398 :     --------------------------------------------------------------------------------
399 : monnier 8 [1997-12-07] 109.32 --> 110
400 :     ---------------------------
401 :    
402 : monnier 29 Added the function add' to the ORD_SET signature and the function insert'
403 :     to the ORD_MAP signature. These functions fit the pattern of the fold
404 :     functions. (110 patch 3)
405 :    
406 :     Added the IntInf:INT_INF structure to the Util library. This is a subset
407 :     of the optional IntInf structure defined by the SML'97 basis.
408 :    
409 :     Changed the Rand structure to use words as seeds and results. This also
410 :     fixes bug 1047. (110 patch 3)
411 :    
412 : monnier 8 Added a clear operation to the Queue and various hash table structures.
413 :    
414 :     Changed the ListFormat.formatList to ListFormat.fmt and ListFormat.scanList
415 :     to ListFormat.scan. Added the function ListFormat.listToString.
416 :    
417 :     Updated the HTML library to the final 3.2 specification. This involved adding
418 :     a new BODY element type (with attributes). Also, removed the header/footer
419 :     arguments to the pretty-printer (they were a gross hack).
420 :    
421 :     Added PathUtil structure to Util library. This is a more general version
422 :     of the old UnixPath module.
423 :    
424 :    
425 :     --------------------------------------------------------------------------------
426 :     [1997-10-01] 109.31 --> 109.32
427 :     ------------------------------
428 :    
429 :     Changed the type of the exec instruction in the Reactive library.
430 :    
431 :    
432 :     --------------------------------------------------------------------------------
433 : monnier 2 [1997-09-09] 109.30 --> 109.31
434 :     ------------------------------
435 :    
436 :     Added the Reactive library, which supports reactive scripting. This is a
437 :     first cut, and hasn't been extensively tested.
438 :    
439 :     Changed the names of SockUtil.sock{Recv,Send}* to SockUtil.{recv,send}*
440 :     (since the sock prefix was redundant).
441 :    
442 :     Added some bug fixes to IntListSet that had previously been added to
443 :     the ListSetFn implementation.
444 :    
445 :    
446 :     --------------------------------------------------------------------------------
447 :     [1997-07-17] 109.29 --> 109.30
448 :     ------------------------------
449 :    
450 :     Added a missing case to {ListSetFn,IntListSet}.isSubset.
451 :    
452 :     The bug fix for unionWith was broken. I think I've got it right this
453 :     time.
454 :    
455 :    
456 :     --------------------------------------------------------------------------------
457 :     [1997-07-17] 109.29 --> 109.30
458 :     ------------------------------
459 :    
460 :     Fixed a bug in the binary-tree and splay-tree implementations of the
461 :     unionWith[i] and intersectWith[i] functions. The bug caused the order
462 :     of arguments to the merging function to be wrong in some cases.
463 :    
464 :     Fixed uses of System.Unsafe.
465 :    
466 :     Removed Array2:ARRAY2 from Util library, since the basis now defines these.
467 :    
468 :     Added MonoArrayFn functor for easy creation of monomorphic array structures.
469 :    
470 :     Added Atom.atom' operation for turning substrings into atoms.
471 :    
472 :    
473 :     --------------------------------------------------------------------------------
474 :     [1997-06-13] 109.28 --> 109.29
475 :     ------------------------------
476 :    
477 :     Added collate operation to ORD_MAP signature.
478 :    
479 :     Added compare operation to ORD_SET signature.
480 :    
481 :     Changed the type of and intersectWith[i] in the ORD_MAP signature to be
482 :     more general.
483 :    
484 :     Changed the type of the map function in the ORD_SET signature to return
485 :     a new set (instead of a list).
486 :    
487 :    
488 :     --------------------------------------------------------------------------------
489 :     [1997-05-22] 109.27 --> 109.28
490 :     ------------------------------
491 :    
492 :     Changed various sharing constraints to "where type" definitions to
493 :     compile in SML'97.
494 :    
495 :     Added AtomBinaryMap and AtomBinarySet structures to Util library.
496 :    
497 :    
498 :     --------------------------------------------------------------------------------
499 :     [1997-03-03] 109.25.1 --> 109.25.2
500 :     ----------------------------------
501 :    
502 :     Changed Util/time-limit.sml to reflect new location of callcc/throw.
503 :    
504 :    
505 :     --------------------------------------------------------------------------------
506 :     [1997-02-25] 109.25 --> 109.25.1
507 :     --------------------------------
508 :    
509 :     Added a bunch of new operations to the ordered map modules (BinaryMapFn,
510 :     IntBinaryMap, ListMapFn, IntListFn, and SplayMapFn). The new operations
511 :     are:
512 :     val unionWith : ('a * 'a -> 'a) -> ('a map * 'a map) -> 'a map
513 :     val unionWithi : (Key.ord_key * 'a * 'a -> 'a) -> ('a map * 'a map) -> 'a map
514 :     val intersectWith : ('a * 'a -> 'a) -> ('a map * 'a map) -> 'a map
515 :     val intersectWithi : (Key.ord_key * 'a * 'a -> 'a) -> ('a map * 'a map) -> 'a map
516 :     val filter : ('a -> bool) -> 'a map -> 'a map
517 :     val filteri : (Key.ord_key * 'a -> bool) -> 'a map -> 'a map
518 :     val mapPartial : ('a -> 'b option) -> 'a map -> 'b map
519 :     val mapPartiali : (Key.ord_key * 'a -> 'b option) -> 'a map -> 'b map
520 :    
521 :     Added IOUtil : IO_UTIL structure to the Util library. This provides
522 :     support for dynamically rebinding stdIn and stdOut.
523 :    
524 :     Added KeywordFn functor to the Util library. This provides support for
525 :     implementing scanners, where keyword recognition is done outside the
526 :     basic lexical analysis.
527 :    
528 :     Fixed several bugs in the ListSetFn functor.
529 :    
530 :    
531 :     --------------------------------------------------------------------------------
532 :     [1997-01-10] 109.23 --> 109.24
533 :     ------------------------------
534 :    
535 :     Changed the HASH_TABLE, MONO_HASH_TABLE, MONO_HASH2_TABLE, and ORD_MAP
536 :     interfaces to provide two forms of the listItems function. listItemsi
537 :     returns a list of (key, value) pairs and listItems returns just the values.
538 :     The previous version of listItems was like listItemsi.
539 :    
540 :     Added a missing case for BASEFONT in CheckHTMLFn.check.
541 :    
542 :    
543 :     --------------------------------------------------------------------------------
544 :     [1996-12-07] 109.21.1 --> 109.22
545 :     --------------------------------
546 :    
547 :     Changed the MONO_DYNAMIC_ARRAY signature to make array an eqtype (also changed
548 :     the implementation of DynamicArrayFn).
549 :    
550 :     Fixed a bug in Array2.column
551 :    
552 :    
553 :     --------------------------------------------------------------------------------
554 :     [1996-10-18] 109.19 --> 109.20
555 :     ------------------------------
556 :    
557 :     Added functions for sending/receiving strings over TCP sockets to the
558 :     SockUtil structure.
559 :    
560 :     Fixed a bug with reading on a closed socket in SockUtil.sockRecvVec
561 :    
562 :     Fixed a bug in the implementation of the intersection operation
563 :     in binary sets (BinarySetFn and IntBinarySet).
564 :    
565 :    
566 :     --------------------------------------------------------------------------------
567 :     [1996-10-01] 109.18 --> 109.19
568 :     ------------------------------
569 :    
570 :     Updated the HTML library to the August 21 version of the 3.2 DTD.
571 :    
572 :     Added html-defaults.sml to the HTML Library.
573 :    
574 :     Added Parsing combinators to the Util library.
575 :    
576 :     Added Socket utilities to the Unix library.
577 :    

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