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