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 |
|
[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 |
|
[2007-11-02] |
11 |
|
A collection of bug fixes for machine.sml in the Reactive library. |
12 |
|
(Thanks to Timothy Bourke) |
13 |
|
|
14 |
|
[2007-05-15] |
15 |
|
Made the UnixPath.path_list type concrete (= string list). |
16 |
|
|
17 |
|
[2007-04-24] |
18 |
|
Added next function to Fifo and Queue modules. |
19 |
|
|
20 |
|
[2007-02-15] |
21 |
|
Removed vestigial IntInf and INT_INF definitions. |
22 |
|
|
23 |
|
[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 |
|
[2007-01-30] |
28 |
|
Added the lookup function to the ORD_MAP interface. |
29 |
|
|
30 |
|
[2007-01-30] |
31 |
|
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 |
|
[2007-01-28] |
36 |
|
Added UTF8 signature and structure. |
37 |
|
|
38 |
|
[2005-11-07] |
39 |
|
Internal change: replaced uses of the depreciated Substring.all |
40 |
|
with the Substring.full |
41 |
|
|
42 |
|
[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 |
|
[2005-10-31] |
49 |
|
Fixed a bug in IntervalSetFn().intersect. |
50 |
|
|
51 |
|
[2005-10-25] |
52 |
|
Added interval sets to utility library (signatures INTERVAL_DOMAIN |
53 |
|
and INTERVAL_SET, and functor IntervalSetFn). |
54 |
|
|
55 |
|
[2005-08-04] |
56 |
|
Renamed graph-scc.sml to graph-scc-fn.sml. |
57 |
|
|
58 |
|
[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 |
|
[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 |
|
[2005-07-06] |
67 |
|
Added ANSITerm structure, which provides support for ANSI terminal |
68 |
|
display attributes (e.g., red text). |
69 |
|
|
70 |
|
[2005-07-06] |
71 |
|
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 |
|
[2005-05-05] |
77 |
|
Added singleton function to MONO_PRIORITYQ interface. |
78 |
|
|
79 |
|
[2005-05-04] |
80 |
|
Added the "join" combinator to ParserComb. |
81 |
|
|
82 |
|
[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 |
|
[2005-02-11] |
88 |
|
Added Atom.same and Atom.lexCompare to the Atom structure. Eventually, |
89 |
|
Atom.sameAtom will be removed. |
90 |
|
|
91 |
|
[2004-12-15] |
92 |
|
Change HashString.hashString' to hashSubstring. |
93 |
|
|
94 |
|
[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 |
|
[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 |
|
[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 |
|
|
116 |
|
[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 |
|
[2003-07-31] |
122 |
|
Added getDevice function to PP_STREAM signature. |
123 |
|
|
124 |
|
[2003-05-27] |
125 |
|
Avoid poly-eq in Util/parser-comb.sml. |
126 |
|
|
127 |
|
[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 |
|
- in PP/src/pp-stream-fn.sml: function setSize: handle case of |
137 |
|
an empty scanStk |
138 |
|
- 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 |
|
|
143 |
|
[2003-05-22] |
144 |
|
Cleanup logic in Scan.scanf function. |
145 |
|
|
146 |
|
[2002-10-03] |
147 |
|
Fixed bug in formating reals with the %g format. |
148 |
|
|
149 |
|
[2002-06-18] |
150 |
|
Fixed a bug in MatchTree.nth (regexp library). Thanks to |
151 |
|
Sami Nopanen. |
152 |
|
|
153 |
|
[2002-05-20] |
154 |
|
Fixed bug in IntInf module: scanning of hex literals was not |
155 |
|
handling "0x" prefixes. |
156 |
|
|
157 |
|
[2002-05-20] |
158 |
|
Added ControlUtil module and stringControls function. |
159 |
|
|
160 |
|
[2002-05-17] |
161 |
|
Added tyName field to ValueSyntax exception in Controls module |
162 |
|
and path field to registry tree in ControlRegistry module. |
163 |
|
|
164 |
|
[2002-05-17] |
165 |
|
Added == and != operators to INT_INF interface. These are a |
166 |
|
placeholder until IntInf moves into the SML/NJ compiler. |
167 |
|
|
168 |
|
[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 |
|
[2002-02-21] |
188 |
|
Fixed infinite loop in LeftPriorityQFn.fromList when given a |
189 |
|
singleton list as input (Chris Okasaki provided the fix). |
190 |
|
|
191 |
|
[2002-02-12] |
192 |
|
Added implementation of priority queues to Util library (using |
193 |
|
Okasaki's leftist-tree implementation). |
194 |
|
|
195 |
|
[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 |
|
[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 |
|
[2001-02-22] |
227 |
|
Fixed bug in {Int,Word}RedBlackMapFn.insert (bug 1591). |
228 |
|
|
229 |
|
[2000-12-13] |
230 |
|
Added the bit operations to the IntInf module (Leung). |
231 |
|
|
232 |
|
[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 |
|
[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 |
|
[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 |
|
[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 |
|
[1999-12-03] |
274 |
|
Added IntHashTable structure to Util library; this structure is |
275 |
|
a specialization of hash tables to integer keys. |
276 |
|
|
277 |
|
[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 |
|
[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 |
|
[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 |
|
[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 |
|
[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 |
|
[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 |
|
[1997-12-07] 109.32 --> 110 |
400 |
|
--------------------------- |
401 |
|
|
402 |
|
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 |
|
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 |
-------------------------------------------------------------------------------- |
-------------------------------------------------------------------------------- |