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

Annotation of /cml/trunk/CHANGES

Parent Directory Parent Directory | Revision Log Revision Log


Revision 4163 - (view) (download)

1 : monnier 2 This is a record of changes made to CML and the CML Library.
2 :     ------------------------------------------------------------
3 : jhr 1267
4 : jhr 4163 [2015-10-04]
5 :     Tracking changes to the SML/NJ implementation of the Basis Library.
6 :    
7 : jhr 3808 [2013-05-05]
8 :     Added Word64 to CML Basis. Note that, as with SML/NJ, this is not
9 :     the LargeWord structure (because of efficiency issues). Also added
10 :     some missing SML Basis Library signatures to the CML version of
11 :     the Basis.
12 :    
13 : jhr 3763 [2012-09-24]
14 :     Track changes to SML/NJ Library
15 :    
16 : jhr 3649 [2011-05-10]
17 :     Changed the paths used to specify the CML versions of libraries
18 :     in a CM file. The new scheme is
19 :     $cml/basis.cm -- the CML version of $/basis.cm
20 :     $cml/cml.cm -- core CML features
21 :     $cml/cml-lib.cm -- CML library code
22 :     $cml/trace-cml.cm -- TraceCML library for debugging
23 :     $cml/smlnj-lib.cm -- CML version of the $/smlnj-lib.cm library
24 :     $cml/inet-lib.cm -- CML version of the $/inet-lib.cm library
25 :     $cml/unix-lib.cm -- CML version of the $/unix-lib.cm library
26 :    
27 : jhr 3573 [2011-02-18]
28 : jhr 3649 Added barriers. These are inspired by the similar mechanism in CHP,
29 :     although we do not include any event-based operations on them as of yet.
30 : jhr 3573
31 : jhr 3600 [2010-09-16]
32 :     Fixed the Win32 socket and polling implementation to work correctly
33 :     with CML. Signature of poll was wrong and didn't handle sockets at all.
34 :     (Thanks to Lars Bergstrom)
35 :    
36 : jhr 3107 [2008-07-16]
37 :     Fixed interface to OS.Process so that it agrees with the SML Basis Library
38 :     (added isSuccess and sleep; status is nolonger an eqtype).
39 :    
40 : blume 2748 [2007-09-06]
41 :     Exported Int64 and IntInf from basis.cm.
42 :    
43 : blume 2338 [2007-02-15]
44 :     Updates to the cml-lib to track removals from the SML/NJ library.
45 :    
46 : jhr 2271 [2007-01-28]
47 :     Updates to the cml-lib to track additions to the SML/NJ library.
48 :    
49 : blume 2229 [2006-12-07]
50 :     Carried over the fix to the SOCKET signature.
51 :    
52 : jhr 1927 [2006-05-04]
53 :     Fixed bug with iGetPoll, mTakePoll, and mGetPoll. In some cases, the
54 :     atomic region was not being closed properly. The iGetPoll and mGetPoll
55 :     operations just read the value field now, since there is reads are
56 :     atomic.
57 :    
58 : jhr 1901 [2006-02-27]
59 :     Fixed bug with the combination of withNack and never, where the
60 :     negative acknowledgement is never generated. Thanks to Heath
61 :     Putnam for the bug report and fix.
62 :    
63 : mblume 1770 [2005-02-28]
64 :     Fixed serious bug in structure Atom. (Must use mvar, not mailbox!)
65 :    
66 : mblume 1759 [2005-02-24]
67 :     Reuse signature ATOM from $/smlnj-lib.cm, thus tracking all changes.
68 :     Implement structure Atom in terms of structure Atom in $/smlnj-lib.cm
69 :     by protecting access to the global hashtable using an mbox lock.
70 :     Atoms can now be created (sequentially) prior to calling RunCML.doit.
71 :    
72 : mblume 1717 [2004-11-24]
73 :     Made the IO implementation agnostic of size of Position.int.
74 :     (Now compiles with either Position = Int31 or Position = Int64.)
75 :    
76 : mblume 1389 [2003-09-23]
77 :     Accounted for changes to socket API in Basis. (Non-blocking
78 :     behavior is no longer a stateful property of a socket. Instead,
79 :     there are non-blocking versions of most functions in the
80 :     interface. This simplifies the CML code since it no longer
81 :     has to do OS-specific handling of "wouldblock" etc.
82 :     On the other hand, (trivial) CML implementations of those
83 :     non-blocking operations had to be added.)
84 :    
85 : mblume 1368 [2003-09-12]
86 :     Accounted for changed type of inputLine.
87 :    
88 : mblume 1354 [2003-09-09]
89 :     Made CML compile under Win32 again.
90 :    
91 : mblume 1350 [2003-09-03]
92 :     Added *_SLICE signatures and *Slice structures (copied from
93 :     "normal" Basis into CML Basis).
94 :     Fixed code broken due to API changes (slices).
95 :    
96 : jhr 1323 [2003-05-09]
97 :     Added the missing implementation of StreamIO event constructors
98 :     (e.g., TextIO.StreamIO.inputEvt). Note that if you use these
99 :     operations, then the system may not shutdown when all user threads
100 :     are blocked.
101 :    
102 : jhr 1322 [2003-04-21]
103 :     The CleanUp.logMailbox function was not protected against
104 :     interrupts (thanks to David Benson for catching this bug).
105 :    
106 : mblume 1320 [2003-04-09]
107 :     Changed the name of the directory cml-lib/cm to cml-lib/cm-descr
108 :     in order to avoid a name conflict with cml-lib/CM which gets
109 :     created by the compilation manager. (On case-insensitive
110 :     filesystems such as the one used by MacOS X the two names clash.)
111 :    
112 : jhr 1321 [2003-03-10]
113 :     Documentation cleanup.
114 :    
115 : jhr 1267 [2002-10-01]
116 :     Fixed a bad space leak in the stream I/O implementations. The
117 :     cleanup hooks were holding onto the initial buffer, which
118 :     meant that the entire buffer chain would remain live as long
119 :     as the stream was live.
120 :    
121 : blume 844 [2001-06-20]
122 :     Ported to SML/NJ 110.33 (in particular, the new CM).
123 :     Under the new CM, the CML library is known as $cml/cml.cm
124 :     and there is a CML-specific replacement for $/basis.cm
125 :     known as $cml/basis.cm. Two additional libraries
126 :     ($cml/cml-internal.cm and $cml/core-cml.cm) are used
127 :     internally but should not be referred to directly by client code.
128 :     A CML-specific replacement for $/smlnj-lib.cm is
129 :     known as $cml-lib/smlnj-lib.cm. The trace module is
130 :     $cml-lib/trace-cml.cm. (The aforementioned $cml/core-cml.cm
131 :     exists mainly to make it possible for $cml-lib/trace-cml.cm
132 :     to refer to it.)
133 : monnier 2
134 : blume 844 [2001-03-8]
135 :     Fixed a problem in the ordering of clean-up actions. IO streams
136 :     were being cleaned before servers, which meant that servers could
137 :     not use I/O in initialization or shutdown.
138 : monnier 167
139 : blume 844 [2001-01-14]
140 :     Fixed a bug in the timeout manager. Cleanup actions were being
141 :     executed twice, which breaks withNack.
142 : monnier 167
143 : blume 844 [2000-12-12]
144 :     Fixed a bug in the I/O manager (core-cml/io-manager.sml), where
145 :     if there were two threads blocked on the same descriptor (one
146 :     reading and one writing), the result might be matched to the
147 :     wrong thread.
148 :    
149 :     [2000-09-28]
150 :     Version 1.0.13 (SML/NJ Version 110.0.7)
151 :    
152 :     [2000-09-27]
153 :     Updated the CML Library to track additions to the SML/NJ Library.
154 :    
155 :     [1999-12-08]
156 :     Fixed a collection of bugs in event.sml related to the handling of
157 :     negative acknowledgements.
158 :    
159 :     [1999-12-01]
160 :     Modified RunCML.doit to install a dummy print hook. This prevents
161 :     the bug of SML/NJ's print function being called during CML execution
162 :     (the CML print function is installed by code in TextIO, but that
163 :     code isn't loaded by CML when the application does not specifically
164 :     mention TextIO).
165 :    
166 :     Version 1.0.12 (SML/NJ 110.0.6 and 110.8)
167 : monnier 139 -----------------------------------------
168 : monnier 106
169 : blume 844 [1999-09-29]
170 :     Updated the CML Library to track additions to the SML/NJ Library.
171 : monnier 139
172 : blume 844 [1999-07-05]
173 :     Added support for Win32 sockets (thanks to Riccardo Pucella).
174 : monnier 139
175 : blume 844 [1998-08-04]
176 :     Added preliminary Win32 implementation (thanks to Riccardo Pucella).
177 : monnier 106
178 : blume 844 [1998-06-01]
179 :     Fixed type of inputLineEvt in CML_TEXT_STREAM_IO (thanks to A. Appel).
180 : monnier 106
181 : blume 844 [1998-03-12]
182 :     Fixed bug in ChanIOFn (failure to spawn threads).
183 :    
184 :    
185 : monnier 8 Version 1.0.11 (SML/NJ 109.33 and 110)
186 :     --------------------------------------
187 :    
188 : blume 844 [1997-11-21]
189 :     Added TextIO.scanStream function.
190 : monnier 8
191 : blume 844 [1997-11-21]
192 :     Added import of PathUtil:PATH_UTIL to CML library.
193 : monnier 8
194 :    
195 :     Version 1.0.10 (SML/NJ 109.32)
196 :     ------------------------------
197 :    
198 : blume 844 [1997-09-18]
199 :     Fixed a scheduler bug that occured when the atomicState was SignalPending
200 :     and atomicSwitchTo was used to exit the atomic region.
201 : monnier 8
202 : blume 844 [1997-09-15]
203 :     Fixed a bug in the RunCML.doit code that prevented multiple runs (this bug
204 :     was exposed by the previous bug fix).
205 : monnier 8
206 : blume 844 [1997-09-15]
207 :     Fixed a serious bug with the internal condition variables (Event.atomicCVarSet
208 :     was not changing the state of the variable).
209 : monnier 8
210 : blume 844 [1997-09-15]
211 :     Introduced datatype rebinding to eliminate some structure opening.
212 : monnier 8
213 : blume 844 [1997-09-14]
214 :     Moved definition of tidToString to RepTypes, so that it can be used in
215 :     debugging the CML internals.
216 : monnier 8
217 : blume 844 [1997-09-12]
218 :     Server initialization/shutdown is now handled by a dedicated cleanup
219 :     routine. Eventually, each server should define its own cleanup routine,
220 :     and we'll get rid of logServer.
221 : monnier 8
222 : blume 844 [1997-09-12]
223 :     Fixed bugs in the initialization and shutdown protocols for the standard
224 :     text streams.
225 : monnier 8
226 :    
227 : monnier 2 Version 1.0.9 (SML/NJ 109.31)
228 :     -----------------------------
229 :    
230 : blume 844 [1997-09-02]
231 :     Added cleanup code for the I/O stacks (including the standard I/O streams).
232 : monnier 2
233 : blume 844 [1997-08-29]
234 :     Implemented a clean-up mechansim that is similar to that provided by
235 :     SML/NJ. The logging of global servers for initialization/shutdown
236 :     is now done using cleaners, which provide somewhat finer control.
237 :     Channel and mailbox logging is still supported, but the initialization
238 :     is done by a dedicated cleaner. This change is part of the overhaul
239 :     of RunCML.
240 : monnier 2
241 : blume 844 [1997-08-28]
242 :     Qualified the use of the "cont" type constructor, which is no longer
243 :     available at top level.
244 : monnier 2
245 : blume 844 [1997-08-28]
246 :     Replaced a few holdover uses of "abstraction" with opaque signature matching.
247 : monnier 2
248 : blume 844 [1997-08-15]
249 :     RunCML.doit now returns an OS.Process.status value. If a CML program
250 :     uses OS.Process.{exit,terminate} to shutdown, then the status argument
251 :     is returned as the result. If the system shuts down because of deadlock,
252 :     the OS.Process.failure is returned.
253 : monnier 2
254 : blume 844 [1997-08-15]
255 :     Many changes to ensure that exportFn images do not include the entire
256 :     top-level environment. These include: using SMLofNJ.isolate to create
257 :     top-level continuations, and reimplementing RunCML.exportFn to do better
258 :     housekeeping. To get this to work also required a number of changes
259 :     to the SML/NJ sources.
260 : monnier 2
261 : blume 844 [1997-08-15]
262 :     Fixed bug in scheduler, where a timer interrupt in an atomic region
263 :     was not getting marked by SignalPending.
264 : monnier 2
265 : blume 844 [1997-07-24]
266 :     The TextIO.output* functions did not implement line buffering; this
267 :     has now been added.
268 : monnier 2
269 :    
270 :     Version 1.0.8 (SML/NJ 109.30)
271 :     -----------------------------
272 :    
273 : blume 844 [1997-07-11]
274 :     Changed uses of System.Unsafe to Unsafe.
275 : monnier 2
276 : blume 844 [1997-07-11]
277 :     Eliminated redefinition of Scheduler structure to avoid loss of inlining,
278 :     since the compiler handles this properly now.
279 : monnier 2
280 : blume 844 [1997-07-11]
281 :     Added Atom.atom' (tracking SML/NJ library changes)
282 : monnier 2
283 : blume 844 [1997-06-30]
284 :     Removed Array2:ARRAY2 from library, as this is now gone from the
285 :     SML/NJ library.
286 : monnier 2
287 :    
288 :     Version 1.0.7 (SML/NJ 109.29)
289 :     -----------------------------
290 :    
291 : blume 844 [1997-06-11]
292 :     Changed OS.IO.{pollErr,isErr} to OS.IO.{pollPri,isPri} (this tracks fixes
293 :     in the SML/NJ implementation of the SML Basis Library.
294 : monnier 2
295 : blume 844 [1997-06-11]
296 :     Changes to src/Unix/posix-bin-prim-io.sml to track basis fixes.
297 : monnier 2
298 :    
299 :     Version 1.0.6 (SML/NJ 109.28)
300 :     -----------------------------
301 :    
302 : blume 844 [1997-05-21]
303 :     Added a temporary fix so that input operations do not cause the whole
304 :     CML system to block waiting for input. Eventually, there should be a
305 :     CML version of the complete Posix API, which is the right way to avoid
306 :     this problem.
307 : monnier 2
308 : blume 844 [1997-05-21]
309 :     Added RunCML.exportFn.
310 :     NOTE: there are some problems with the size of exported images that
311 :     need to be tracked down and fixed.
312 : monnier 2
313 :    
314 :     Version 1.0.5 (SML/NJ 109.26)
315 :     -----------------------------
316 :    
317 : blume 844 [1997-03-18]
318 :     Added SyncVar.{mSwap,mSwapEvt} operations, and changed the implementation
319 :     of multicast channels to use it.
320 : monnier 2
321 : blume 844 [1997-03-17]
322 :     Modified SyncVar.{mGet,mGetEvt} to resume other blocked threads (just
323 :     as iGet does).
324 : monnier 2
325 : blume 844 [1997-03-16]
326 :     Fixed a bug in SyncVar.{mTake,mTakeEvt}, where the cell was not getting
327 :     emptied in some execution paths.
328 : monnier 2
329 : blume 844 [1997-03-15]
330 :     Added an "error thread," which is enqueued when CML is not running.
331 :     This thread will get dispatched if someone tries to execute a CML
332 :     operation without using RunCML.doit (not including channel allocation,
333 :     etc.). I also added a top-level call to Scheduler.reset, which will
334 :     ensure that the current thread ID is initialized.
335 : monnier 2
336 : blume 844 [1997-03-13]
337 :     Fixed a serious bug in SyncVar.{iPut,mPut}, where the cell was not
338 :     getting filled in some cases.
339 : monnier 2
340 :    
341 :     Version 1.0.4 (SML/NJ 109.25.2)
342 :     -------------------------------
343 :    
344 : blume 844 [1997-02-28]
345 :     Added some additional modules to the CML Library: IOUtil:IO_UTIL and
346 :     KeywordsFn. These were recent additions to the SML/NJ Library. I also
347 :     reorganized the directory structure of the CML library to make it easier
348 :     to track changes in the SML/NJ Library.
349 : monnier 2
350 : blume 844 [1997-02-28]
351 :     Tracked changes in location of continuation operations changed in SML/NJ.
352 : monnier 2
353 :    
354 :     Version 1.0.3 (SML/NJ 109.25.1)
355 :     -------------------------------
356 :    
357 : blume 844 [1997-02-25]
358 :     Fixed bugs in the implementation of the pauseHook and schedulerHook in
359 :     RunCMLFn (missing atomicBegin).
360 : monnier 2
361 : blume 844 [1997-02-25]
362 :     Fixed bug in implementation of TraceCML when TraceToFile was set as the
363 :     destination.
364 : monnier 2
365 : blume 844 [1997-02-18]
366 :     Fixed bug in random access support in BinIOFn and TextIOFn (bug also in
367 :     SML/NJ implementation).
368 : monnier 2
369 : blume 844 [1997-02-17]
370 :     Added logging/unlogging for global mailboxes.
371 : monnier 2
372 : blume 844 [1997-02-17]
373 :     Fixed bug in the TraceCML.unwatchThread. Also changed the implementation
374 :     to avoid potential races between unwatching a thread and its termination.
375 : monnier 2
376 : blume 844 [1997-02-15]
377 :     Various changes to the Scheduler module to improve robustness. Added
378 :     an exception handler around the function in enqueueTmpThread. Replaced
379 :     enqueueCurThread with enqueueAndSwitchCurThread, which keeps the thread
380 :     ID bookkeeping in the same place. And fixed a bug(?) where atomicSwitchTo
381 :     was failing to set the current thread ID properly.
382 : monnier 2
383 : blume 844 [1997-02-04]
384 :     Added sendPoll operation on channels to CML structure.
385 : monnier 2
386 :    
387 :     Version 1.0.2 (SML/NJ 109.25)
388 :     -----------------------------
389 :    
390 : blume 844 [1997-01-30]
391 :     Added documentation for the Multicast and TraceCML library modules.
392 : monnier 2
393 : blume 844 [1997-01-30]
394 :     Made minor improvements to the implementation of TraceCML.
395 : monnier 2
396 : blume 844 [1997-01-29]
397 :     Changes to the SML/NJ system (available in 109.25) now make it possible
398 :     to use the top-level print function in CML programs (it gets dynamically
399 :     rebound to CML's version of TextIO.print when a CML program starts running).
400 : monnier 2
401 : blume 844 [1997-01-27]
402 :     Renamed CML.atEvt to CML.atTimeEvt.
403 : monnier 2
404 : blume 844 [1997-01-26]
405 :     Added SimpleRPC:SIMPLE_RPC to the CML library.
406 : monnier 2
407 : blume 844 [1997-01-26]
408 :     Fixed a bug in the I/O manager for the case when two I/O events became
409 :     enabled for the same thread at the same time.
410 : monnier 2
411 :    
412 :     Version 1.0.1 (SML/NJ 109.22)
413 :     -----------------------------
414 :    
415 : blume 844 [1996-11-09]
416 :     Added UnixEnv:UNIX_ENV to the structures reexported from the CML library.
417 : monnier 2
418 : blume 844 [1996-11-07]
419 :     Fixed bug in {TextIO,BinIO}.StreamIO.endOfStream, where more m-variable
420 :     was getting multiple puts.
421 : monnier 2
422 :    
423 :     Version 1.0 (SML/NJ 109.21.1)
424 :     -----------------------------
425 :    
426 : blume 844 [1996-11-01]
427 :     Added version and banner to CML structure.
428 : monnier 2
429 : blume 844 [1996-11-01]
430 :     Added CML version of Unix structure.
431 : monnier 2
432 : blume 844 [1996-11-01]
433 :     Changed the implementation of the internal condition variables to make
434 :     them work correctly.
435 : monnier 2
436 : blume 844 [1996-11-01]
437 :     Added implementation of OS.IO.poll and OS.IO.pollEvt.
438 : monnier 2
439 : blume 844 [1996-11-01]
440 :     Fixed implementation of Socket.connect.
441 : monnier 2

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