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

SCM Repository

[smlnj] Diff of /smlnj-lib/trunk/CHANGES
ViewVC logotype

Diff of /smlnj-lib/trunk/CHANGES

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

sml/branches/SMLNJ/src/smlnj-lib/CHANGES revision 139, Mon Sep 7 21:11:35 1998 UTC smlnj-lib/trunk/CHANGES revision 3977, Sun Dec 7 22:18:52 2014 UTC
# Line 1  Line 1 
1  This is a list of changes to the SML/NJ Library; the version numbers  This is a list of changes to the SML/NJ Library; the version numbers
2  correspond to SML/NJ releases.  correspond to SML/NJ releases.
3    
4    [2014-12-07]
5            New implementation of ListMergeSort.  This implementation is
6            better on sorted data (both ascending and descending) and
7            faster on smaller lists.  It is slower than the previous
8            implementation on very large lists (e.g., 10^6 elements
9            or more).
10    
11    [2014-11-17]
12            Added HTML4Attrs module to HTML4 library.  This module provides
13            utility functions for building attribute-value pairs.
14    
15    --------------------------------------------------------------------------------
16    SML/NJ 110.77
17    -------------------
18    
19    [2014-07-15]
20            Reimplementation of delete/remove operations in red-black-tree
21            versions of sets and maps.  The previous implementation could
22            result in violations of the data-structure invariants, which
23            was leading to unbalanced trees and loss of performance.  Note
24            that the order invariants were correctly maintained, so correctness
25            of the operations was not an issue.
26    
27    [2014-03-27]
28            Added XML library, which is a lightweight library for parsing XML
29            files.  The library does not support validation and will immediatly
30            raise an exception on syntax errors.  Its purpose is to ease the
31            writing of applications that must process data files that are
32            in XML syntax.
33    
34    [2013-11-20]
35            Changes to S-expression parsing library.  Allow multiple top-level
36            values in a file (parsing now returns a list).  Handle LISP/Scheme-style
37            comments ("; ...").
38    
39    --------------------------------------------------------------------------------
40    SML/NJ 110.76
41    -------------------
42    
43    [2012-10-30]
44            Fixed bug in DynamicArray iterators because of bad slice dimensions
45            (bug #108).  Also switched to using Array.fromList to implement fromList
46            function.
47    
48    --------------------------------------------------------------------------------
49    SML/NJ 110.75
50    -------------------
51    
52    [2012-09-24]
53            Added Base64 module to support encoding and decoding Word8 vectors as
54            base64 strings.
55    
56    [2012-09-23]
57            Added exists, existsi, all, and alli functions to ORD_MAP signature and
58            implementations.
59    
60    [2012-09-23]
61            Added all function to ORD_SET signature and implementations.
62    
63    [2012-03-26]
64            Added subtract, subtract', and subtractList functions to ORD_SET
65            interface and implementations.
66    
67    [2012-03-09]
68            Modified PathUtil module to handle the case where the filename is an
69            absolute path.
70    
71    --------------------------------------------------------------------------------
72    SML/NJ 110.74
73    -------------------
74    
75    [2011-11-25]
76            Added hash-table-based implementation of sets (HASH_SET signature and
77            HashSetFn functor).
78    
79    [2011-05-23]
80            Added new S-expression library (contributed by Damon Wang)
81    
82    [2011-05-17]
83            Fixed bug in JSON scanner.  It didn't handle escaped backslash or double
84            quote correctly.
85    
86    --------------------------------------------------------------------------------
87    SML/NJ 110.73
88    -------------------
89    
90    [2011-05-12]
91            Modified the implementation of GetOpt.usageInfo so that if the help
92            string has embedded newlines, then the extra lines are properly
93            indented.
94    
95    [2011-04-10]
96            Changed the interface of JSONStreamParser to support both parsing files
97            and TextIO.instreams.
98    
99    [2011-03-16]
100            Added findExe function to PathUtil module.
101    
102    [2010-06-30]
103            Added HTML4 library.
104    
105    [2010-03-09]
106            Fixed bug in hashed cons library (bug #55).
107    
108    --------------------------------------------------------------------------------
109    SML/NJ 110.72
110    -------------------
111    
112    [2009-05-13]
113            Added array iterators to DynamicArray module.
114    
115    [2009-03-15]
116            Added support for the interval syntax to the AWK RE syntax parser (this
117            syntax was not part of the original version of AWK, but is supported by
118            modern variants and the POSIX standard).
119    
120    [2008-10-03]
121            Improved the error messages in the JSON parser.
122    
123    [2008-06-11]
124            Added support for begin marks to Thompson engine.
125    
126    [2008-05-12]
127            Added parsing support to JSON library.
128    
129    [2008-04-18]
130            First commit of JSON Library.  Printing works, but parsing still needs
131            to be implemented.
132    
133    [2008-03-18]
134            Committed a major overhaul of the RegExp library.  There is now a new
135            engine that implements Ken Thompson's RE matching algorithm.  The result
136            type of the RE matches has also been simplified by removing an unecessary
137            option type.
138            NOTE: the new RE engine is not complete in that it does not yet support
139            begin/end marks.
140    
141    [2007-12-13]
142            Also added list' and listg' which are parameterized over the delimiter-
143            and separator strings used for formatting lists.  (The default for "list" and
144            "listg" is the usual "[" ", " "]".)
145    
146    [2007-12-13]
147            Added "elem" function as an inverse to "glue" to FormatComb module.
148            This makes writing extensions possible.  Also added "list" and "option"
149            combinators for formatting list- and option types.
150    
151    [2007-11-02]
152            A collection of bug fixes for machine.sml in the Reactive library.
153            (Thanks to Timothy Bourke)
154    
155    [2007-05-15]
156            Made the UnixPath.path_list type concrete (= string list).
157    
158    [2007-04-24]
159            Added next function to Fifo and Queue modules.
160    
161    [2007-02-15]
162            Removed vestigial IntInf and INT_INF definitions.
163    
164    [2007-02-14]
165            Changed the representation type of UTF8.wchar from Word32.word to word.
166            Also added the UTF8.maxCodePoint value.
167    
168    [2007-01-30]
169            Added the lookup function to the ORD_MAP interface.
170    
171    [2007-01-30]
172            Added the fromList function to the ORD_SET interface.  For the red-black
173            tree and list based implementations, this operation is linear for ordered
174            inputs.
175    
176    [2007-01-28]
177            Added UTF8 signature and structure.
178    
179    [2005-11-07]
180            Internal change: replaced uses of the depreciated Substring.all
181            with the Substring.full
182    
183    [2005-11-05]
184            Tweaking of the interval set API.  Added iterators on items and
185            changed the iterators on intervals to have a "Int" suffix.
186            Changed addInterval to addInt, changed list to intervals.  Added
187            the items function.
188    
189    [2005-10-31]
190            Fixed a bug in IntervalSetFn().intersect.
191    
192    [2005-10-25]
193            Added interval sets to utility library (signatures INTERVAL_DOMAIN
194            and INTERVAL_SET, and functor IntervalSetFn).
195    
196    [2005-08-04]
197            Renamed graph-scc.sml to graph-scc-fn.sml.
198    
199    [2005-07-23]
200            Fix PP library to export ANSITermDev, ANSITermPP, PPDescFn, and
201            PP_DESC.  Also add nbSpace to PP_DESC signature.
202    
203    [2005-07-12]
204            Added ANSITermDev device that uses ANSI terminal display attributes
205            and added a ANSITermPP for pretty printing to such a device.
206    
207    [2005-07-06]
208            Added ANSITerm structure, which provides support for ANSI terminal
209            display attributes (e.g., red text).
210    
211    [2005-07-06]
212            Refactored the pretty printing library.  The declarative way to
213            construct pretty-printing descriptions now sits on top of the
214            PP_STREAM interface.  Also removed "onNewline" function, which
215            was not implemented.
216    
217    [2005-05-05]
218            Added singleton function to MONO_PRIORITYQ interface.
219    
220    [2005-05-04]
221            Added the "join" combinator to ParserComb.
222    
223    [2005-03-21]
224            Fixed a bug in GetOpt.getOpt.  The argument processing functions
225            for ReqArg and OptArg, and the embedding function for ReturnInOrder
226            were getting applied to all arguments, even past a "--".
227    
228    [2005-02-11]
229            Added Atom.same and Atom.lexCompare to the Atom structure.  Eventually,
230            Atom.sameAtom will be removed.
231    
232    [2004-12-15]
233            Change HashString.hashString' to hashSubstring.
234    
235    [2004-12-09]
236            Added two simple statistics modules:
237            * RealOrderStats implements selection of arbitrary order
238              statistics as well as the median of an array of reals
239              in randomized linear time.
240            * UnivariateStats implements mean, variance, standard and average
241              deviation, skew, kurtosis, and median of a univariate sample
242              (i.e., a set of reals).
243    
244    [2004-11-29]
245            Added HashString.hashString' for substrings.
246            Hand-inlined CharVector.fold into HashString for efficiency.
247            Modified atom.sml so that Atom.atom' first tries to find an
248            existing atom before turning its argument into a string. [-blume]
249    
250    [2003-09-03]
251            Minor modifications to random.sml due to changes to some
252            Basis interfaces (slices).
253            Significant surgery on bit-array.sml to make it compile with
254            new signature MONO_ARRAY.  This will require further cleanup
255            in the future.
256    
257    [2003-08-28]
258            Made compilation of int-inf* conditional.  (The Basis now has
259            a spec-conforming implementation of IntInf, so the one here is
260            no longer needed.)  [-blume]
261    
262    [2003-07-31]
263            Added getDevice function to PP_STREAM signature.
264    
265    [2003-05-27]
266            Avoid poly-eq in Util/parser-comb.sml.
267    
268    [2003-05-22]
269            More cleanup (all in the name of eliminating incomplete matches):
270              - in HTML/html-attrs-fn.sml: fill in missing patterns in two
271                case expressions
272              - in HTML/html-gram: rewrote function groupDefListContents
273                to avoid the (unnecessary) incomplete match
274              - in PP/devices/html-dev.sml: made the implementation of popStyle
275                agree with the comment above it (popStyle on an empty
276                stack is supposed to be a nop)
277              - in PP/src/pp-stream-fn.sml: function setSize: handle case of
278                an empty scanStk
279              - in Util/prime-sizes.sml: raise Fail exceptions instead of
280                Match exceptions when reaching the end of a list
281                (Perhaps this should eventually be rewritten using an on-demand
282                 prime-number generator that kicks when needed.)
283    
284    [2003-05-22]
285            Cleanup logic in Scan.scanf function.
286    
287    [2002-10-03]
288            Fixed bug in formating reals with the %g format.
289    
290    [2002-06-18]
291            Fixed a bug in MatchTree.nth (regexp library).  Thanks to
292            Sami Nopanen.
293    
294    [2002-05-20]
295            Fixed bug in IntInf module: scanning of hex literals was not
296            handling "0x" prefixes.
297    
298    [2002-05-20]
299            Added ControlUtil module and stringControls function.
300    
301    [2002-05-17]
302            Added tyName field to ValueSyntax exception in Controls module
303            and path field to registry tree in ControlRegistry module.
304    
305    [2002-05-17]
306            Added == and != operators to INT_INF interface.  These are a
307            placeholder until IntInf moves into the SML/NJ compiler.
308    
309    [2002-05-16]
310            Added mergeWith function to ORD_MAP interface.
311    
312    [2002-05-15]
313            Revised Controls library.
314    
315    [2002-04-17]
316            Added Matthias Blume's implementation of Danvey-style format
317            combinators to the Util library.
318    
319    [2002-03-14]
320            Merged in Matthias Blume's Controls library.  Warning: the API
321            to this library is likely to change as we get some experience
322            with it.
323    
324    [2002-03-11]
325            Added consR1 .. consR5 functions to HashCons library.  These
326            can be used to hash-cons record types.
327    
328    [2002-02-21]
329            Fixed infinite loop in LeftPriorityQFn.fromList when given a
330            singleton list as input (Chris Okasaki provided the fix).
331    
332    [2002-02-12]
333            Added implementation of priority queues to Util library (using
334            Okasaki's leftist-tree implementation).
335    
336    [2001-10-19]
337            Added new HashCons library.
338    
339    [2001-10-19]
340            Added PrimeSizes module to Util library.
341    
342    [2001-09-27]
343            Fixed bug in UnixEnv module (reported by Leunga).
344    
345    [2001-05-05]
346            Added addrToString function to SockUtil module in INet library.
347    
348    [2001-05-04]
349            Modified GraphSCC module to support a list of roots (Blume).
350            The old interface still works, but will be dropped when we move
351            to the new Util library.
352    
353    [2001-04-06]
354            Added partition function to ORD_SET interface.
355    
356    [2001-04-05]
357            Added hasProps function to PropList module.
358    
359    [2001-03-16]
360            Minor bug fix in GetOpt: don't pad the help string, since it causes
361            line wraps when one of the help lines is longer than the screen
362            width.  It was also unneccesary.
363    
364    [2001-02-23]
365            Added inDomain function to the various kinds of hash tables.
366    
367    [2001-02-22]
368            Fixed bug in {Int,Word}RedBlackMapFn.insert (bug 1591).
369    
370    [2000-12-13]
371            Added the bit operations to the IntInf module (Leung).
372    
373    [2000-11-17]
374            Added where clause to GraphSCCFn result signature (Blume).
375    
376    [2000-10-20]
377            Made the result signature of the RegExpFn functor be opaque.
378    
379    [2000-09-28]
380            SML/NJ 110.0.7 release.
381    
382    [2000-09-02]
383            Added Word versions of hash tables (WordHashTable), finite
384            maps (WordRedBlackMap), and sets (WordRedBlackSet).
385    
386    [2000-09-02]
387            fixed bug in Format module (infinity caused infinite loop).
388    
389    [2000-07-19]
390            added anchored paths in CM files for NEW_CM.
391    
392    [2000-06-30]
393            added implementation of LWORD in Format module.
394    
395    [2000-05-16]
396            Fixed bug in dfa-engine.sml (bug number 1559).
397    
398    [2000-05-08]
399            Added setFn to PList.newProp return type.
400    
401    [2000-05-05]
402            Added sameHolder function to PropList module.
403    
404    [2000-04-05]
405            Fixed a bug in the filter/filteri hash table functions: the number
406            of items in the table was not being recomputed.
407    
408    [2000-04-04]
409            Added modify and modifyi iterators to hash tables.
410    
411    [2000-03-28]
412            Added anchorLink style to HTMLDev structure in PP/devices.
413    
414    [1999-12-03]
415            Added IntHashTable structure to Util library; this structure is
416            a specialization of hash tables to integer keys.
417    
418    [1999-12-03]
419            Added default cases to avoid "match not exhaustive" warnings.
420    
421    [1999-12-03]
422            Added GraphSCCFn functor to Util library, which implements a
423            strongly-connected components algorithm on directed graphs (written
424            by Matthias Blume).
425    
426    [1999-11-10]
427            Fixed a benign type error in RegExp/BackEnd/fsm.sml that was exposed by
428            the previous change.
429    
430    [1999-11-7]
431            Made the result signatures of ListSetFn and ListMapFn opaque.
432    
433    [1999-11-1]
434            Fixed bug in PP/devices/sources.cm under new CM (missing smlnj-lib.cm).
435    
436    [1999-10-20]
437            Fixed bug in RedBlack trees (the linear time construction of
438            trees from ordered sequences was producing backwards trees).
439    
440    [1999-10-18]
441            Changed UREF signature so that union, unify, and link operations
442            now return a boolean.
443    
444    [1999-10-18]
445            Added peekFn to PropList.newProp return result.
446    
447    [1999-10-14]
448            Added TextIOPP structure to pp-lib.cm (it was not being exported).
449    
450    [1999-09-21]
451            Changed the getOpt API.  Errors are now reported using a callback
452            and both usage and getOpt take records as arguments.  Also changed
453            the NoArg descriptor to take a function so that imperative argument
454            processing can be supported.
455    
456    [1999-09-20]
457            Changed CM files to be compatible with both the old (110.0.x) and
458            new (110.20+) versions of CM.
459    
460    [1999-09-17]
461            Added PropList:PROP_LIST structure.  This structure implements
462            property lists using Stephen Weeks's technique.
463    
464    [1999-09-17]
465            Improved the red-black tree implementations with linear-time union,
466            intersection, difference, and filter operations.  Also reimplemented
467            the delete function in a way that does not require an extra constructor.
468    
469    [1999-09-09]
470            Added Red-Black-Tree implementation of sets and maps.  Two new
471            functors (RedBlackMapFn and RedBlackSetFn) and four new structures
472            (IntRedBlackMap, IntRedBlackSet, AtomIntRedBlackMap, and IntRedBlackSet).
473            Also added aliases AtomMap and AtomSet that for the RB implementations.
474    
475    [1999-09-03]
476            Added missing support for WORD and WORD8 format items to Format structure.
477            Still need to handle LWORD items!!
478    
479    [1999-08-17]
480            Added DynamicArray:DYNAMIC_ARRAY structure.
481    
482    [1999-07-06]
483            Added declarative representation of pretty-printing to PPStreamFn.
484            This replaces the PPDescFn and PP_DESC components (which were not
485            implemented anyway).
486    
487    [1999-07-02]
488            Moved SockUtil structure into a new INet library.  Also split out the
489            Unix-specific socket operations into a UnixSockUtil module.  (Sockets
490            are now supported on Win32).
491    
492    [1999-06-17]
493            Added listKeys function to ORD_MAP API.
494    
495    [1999-06-14]
496            Added Riccardo Pucella's GetOpt structure to Util library.
497    
498    [1999-06-14]
499            Added singleton and inDomain functions to ORD_MAP API.
500    
501    [1999-06-02]
502            Merged in some bug fixes from the compiler's version of the IntInf
503            structure.
504    
505    [1999-05-05]
506            Fixed a couple of bugs in the PP library having to do with nesting
507            absolute and relative indentations.
508    
509    [1999-04-21]
510            Added a way to pass control information to a PP device via the PP
511            stream (function control in PP_STREAM).
512    
513    [1999-04-16]
514            Added better style support to the HTML PP device.
515    
516    [1998-09-04]
517            Added isEmpty predicate and first fucntion to ORD_MAP
518            signature (and to implementations).
519    
520  [1998-06-23]  [1998-06-23]
521          Fixed a bug in ParserComb.bind (reported by Andrew Kennedy).          Fixed a bug in ParserComb.bind (reported by Andrew Kennedy).

Legend:
Removed from v.139  
changed lines
  Added in v.3977

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