SCM Repository
Annotation of /sml/trunk/src/cml/CHANGES
Parent Directory
|
Revision Log
Revision 168 - (view) (download)
1 : | monnier | 2 | This is a record of changes made to CML and the CML Library. |
2 : | ------------------------------------------------------------ | ||
3 : | |||
4 : | monnier | 167 | Version 1.0.13 (SML/NJ 110.9) |
5 : | ----------------------------- | ||
6 : | |||
7 : | - Changes to I/O APIs to track basis changes (deleted in_pos support | ||
8 : | and changed type of StreamIO.mkInstream). | ||
9 : | [1998-10-16] | ||
10 : | |||
11 : | monnier | 139 | Version 1.0.12 (SML/NJ 110.0.4 and 110.8) |
12 : | ----------------------------------------- | ||
13 : | monnier | 106 | |
14 : | monnier | 139 | - Added preliminary Win32 implementation. |
15 : | [1998-08-04] | ||
16 : | |||
17 : | - Fixed type of inputLineEvt in CML_TEXT_STREAM_IO (thanks to A. Appel). | ||
18 : | [1998-06-01] | ||
19 : | |||
20 : | monnier | 106 | - Fixed bug in ChanIOFn (failure to spawn threads). |
21 : | [1998-03-12] | ||
22 : | |||
23 : | |||
24 : | monnier | 8 | Version 1.0.11 (SML/NJ 109.33 and 110) |
25 : | -------------------------------------- | ||
26 : | |||
27 : | - Added TextIO.scanStream function. | ||
28 : | [1997-11-21] | ||
29 : | |||
30 : | - Added import of PathUtil:PATH_UTIL to CML library. | ||
31 : | [1997-11-21] | ||
32 : | |||
33 : | |||
34 : | Version 1.0.10 (SML/NJ 109.32) | ||
35 : | ------------------------------ | ||
36 : | |||
37 : | - Fixed a scheduler bug that occured when the atomicState was SignalPending | ||
38 : | and atomicSwitchTo was used to exit the atomic region. | ||
39 : | [1997-09-18] | ||
40 : | |||
41 : | - Fixed a bug in the RunCML.doit code that prevented multiple runs (this bug | ||
42 : | was exposed by the previous bug fix). | ||
43 : | [1997-09-15] | ||
44 : | |||
45 : | - Fixed a serious bug with the internal condition variables (Event.atomicCVarSet | ||
46 : | was not changing the state of the variable). | ||
47 : | [1997-09-15] | ||
48 : | |||
49 : | - Introduced datatype rebinding to eliminate some structure opening. | ||
50 : | [1997-09-15] | ||
51 : | |||
52 : | - Moved definition of tidToString to RepTypes, so that it can be used in | ||
53 : | debugging the CML internals. | ||
54 : | [1997-09-14] | ||
55 : | |||
56 : | - Server initialization/shutdown is now handled by a dedicated cleanup | ||
57 : | routine. Eventually, each server should define its own cleanup routine, | ||
58 : | and we'll get rid of logServer. | ||
59 : | [1997-09-12] | ||
60 : | |||
61 : | - Fixed bugs in the initialization and shutdown protocols for the standard | ||
62 : | text streams. | ||
63 : | [1997-09-12] | ||
64 : | |||
65 : | |||
66 : | monnier | 2 | Version 1.0.9 (SML/NJ 109.31) |
67 : | ----------------------------- | ||
68 : | |||
69 : | - Added cleanup code for the I/O stacks (including the standard I/O streams). | ||
70 : | [1997-09-02] | ||
71 : | |||
72 : | - Implemented a clean-up mechansim that is similar to that provided by | ||
73 : | SML/NJ. The logging of global servers for initialization/shutdown | ||
74 : | is now done using cleaners, which provide somewhat finer control. | ||
75 : | Channel and mailbox logging is still supported, but the initialization | ||
76 : | is done by a dedicated cleaner. This change is part of the overhaul | ||
77 : | of RunCML. | ||
78 : | [1997-08-29] | ||
79 : | |||
80 : | - Qualified the use of the "cont" type constructor, which is no longer | ||
81 : | available at top level. | ||
82 : | [1997-08-28] | ||
83 : | |||
84 : | - Replaced a few holdover uses of "abstraction" with opaque signature matching. | ||
85 : | [1997-08-28] | ||
86 : | |||
87 : | - RunCML.doit now returns an OS.Process.status value. If a CML program | ||
88 : | uses OS.Process.{exit,terminate} to shutdown, then the status argument | ||
89 : | is returned as the result. If the system shuts down because of deadlock, | ||
90 : | the OS.Process.failure is returned. | ||
91 : | [1997-08-15] | ||
92 : | |||
93 : | - Many changes to ensure that exportFn images do not include the entire | ||
94 : | top-level environment. These include: using SMLofNJ.isolate to create | ||
95 : | top-level continuations, and reimplementing RunCML.exportFn to do better | ||
96 : | housekeeping. To get this to work also required a number of changes | ||
97 : | to the SML/NJ sources. | ||
98 : | [1997-08-15] | ||
99 : | |||
100 : | - Fixed bug in scheduler, where a timer interrupt in an atomic region | ||
101 : | was not getting marked by SignalPending. | ||
102 : | [1997-08-15] | ||
103 : | |||
104 : | - The TextIO.output* functions did not implement line buffering; this | ||
105 : | has now been added. | ||
106 : | [1997-07-24] | ||
107 : | |||
108 : | |||
109 : | Version 1.0.8 (SML/NJ 109.30) | ||
110 : | ----------------------------- | ||
111 : | |||
112 : | - Changed uses of System.Unsafe to Unsafe. | ||
113 : | [1997-07-11] | ||
114 : | |||
115 : | - Eliminated redefinition of Scheduler structure to avoid loss of inlining, | ||
116 : | since the compiler handles this properly now. | ||
117 : | [1997-07-11] | ||
118 : | |||
119 : | - Added Atom.atom' (tracking SML/NJ library changes) | ||
120 : | [1997-07-11] | ||
121 : | |||
122 : | - Removed Array2:ARRAY2 from library, as this is now gone from the | ||
123 : | SML/NJ library. | ||
124 : | [1997-06-30] | ||
125 : | |||
126 : | |||
127 : | Version 1.0.7 (SML/NJ 109.29) | ||
128 : | ----------------------------- | ||
129 : | |||
130 : | - Changed OS.IO.{pollErr,isErr} to OS.IO.{pollPri,isPri} (this tracks fixes | ||
131 : | in the SML/NJ implementation of the SML Basis Library. | ||
132 : | [1997-06-11] | ||
133 : | |||
134 : | - Changes to src/Unix/posix-bin-prim-io.sml to track basis fixes. | ||
135 : | [1997-06-11] | ||
136 : | |||
137 : | |||
138 : | Version 1.0.6 (SML/NJ 109.28) | ||
139 : | ----------------------------- | ||
140 : | |||
141 : | - Added a temporary fix so that input operations do not cause the whole | ||
142 : | CML system to block waiting for input. Eventually, there should be a | ||
143 : | CML version of the complete Posix API, which is the right way to avoid | ||
144 : | this problem. | ||
145 : | [1997-05-21] | ||
146 : | |||
147 : | - Added RunCML.exportFn. | ||
148 : | NOTE: there are some problems with the size of exported images that | ||
149 : | need to be tracked down and fixed. | ||
150 : | [1997-05-21] | ||
151 : | |||
152 : | |||
153 : | Version 1.0.5 (SML/NJ 109.26) | ||
154 : | ----------------------------- | ||
155 : | |||
156 : | - Added SyncVar.{mSwap,mSwapEvt} operations, and changed the implementation | ||
157 : | of multicast channels to use it. | ||
158 : | [1997-03-18] | ||
159 : | |||
160 : | - Modified SyncVar.{mGet,mGetEvt} to resume other blocked threads (just | ||
161 : | as iGet does). | ||
162 : | [1997-03-17] | ||
163 : | |||
164 : | - Fixed a bug in SyncVar.{mTake,mTakeEvt}, where the cell was not getting | ||
165 : | emptied in some execution paths. | ||
166 : | [1997-03-16] | ||
167 : | |||
168 : | - Added an "error thread," which is enqueued when CML is not running. | ||
169 : | This thread will get dispatched if someone tries to execute a CML | ||
170 : | operation without using RunCML.doit (not including channel allocation, | ||
171 : | etc.). I also added a top-level call to Scheduler.reset, which will | ||
172 : | ensure that the current thread ID is initialized. | ||
173 : | [1997-03-15] | ||
174 : | |||
175 : | - Fixed a serious bug in SyncVar.{iPut,mPut}, where the cell was not | ||
176 : | getting filled in some cases. | ||
177 : | [1997-03-13] | ||
178 : | |||
179 : | |||
180 : | Version 1.0.4 (SML/NJ 109.25.2) | ||
181 : | ------------------------------- | ||
182 : | |||
183 : | - Added some additional modules to the CML Library: IOUtil:IO_UTIL and | ||
184 : | KeywordsFn. These were recent additions to the SML/NJ Library. I also | ||
185 : | reorganized the directory structure of the CML library to make it easier | ||
186 : | to track changes in the SML/NJ Library. | ||
187 : | [1997-02-28] | ||
188 : | |||
189 : | - Tracked changes in location of continuation operations changed in SML/NJ. | ||
190 : | [1997-02-28] | ||
191 : | |||
192 : | |||
193 : | Version 1.0.3 (SML/NJ 109.25.1) | ||
194 : | ------------------------------- | ||
195 : | |||
196 : | - Fixed bugs in the implementation of the pauseHook and schedulerHook in | ||
197 : | RunCMLFn (missing atomicBegin). | ||
198 : | [1997-02-25] | ||
199 : | |||
200 : | - Fixed bug in implementation of TraceCML when TraceToFile was set as the | ||
201 : | destination. | ||
202 : | [1997-02-25] | ||
203 : | |||
204 : | - Fixed bug in random access support in BinIOFn and TextIOFn (bug also in | ||
205 : | SML/NJ implementation). | ||
206 : | [1997-02-18] | ||
207 : | |||
208 : | - Added logging/unlogging for global mailboxes. | ||
209 : | [1997-02-17] | ||
210 : | |||
211 : | - Fixed bug in the TraceCML.unwatchThread. Also changed the implementation | ||
212 : | to avoid potential races between unwatching a thread and its termination. | ||
213 : | [1997-02-17] | ||
214 : | |||
215 : | - Various changes to the Scheduler module to improve robustness. Added | ||
216 : | an exception handler around the function in enqueueTmpThread. Replaced | ||
217 : | enqueueCurThread with enqueueAndSwitchCurThread, which keeps the thread | ||
218 : | ID bookkeeping in the same place. And fixed a bug(?) where atomicSwitchTo | ||
219 : | was failing to set the current thread ID properly. | ||
220 : | [1997-02-15] | ||
221 : | |||
222 : | - Added sendPoll operation on channels to CML structure. | ||
223 : | [1997-02-04] | ||
224 : | |||
225 : | |||
226 : | Version 1.0.2 (SML/NJ 109.25) | ||
227 : | ----------------------------- | ||
228 : | |||
229 : | - Added documentation for the Multicast and TraceCML library modules. | ||
230 : | [1997-01-30] | ||
231 : | |||
232 : | - Made minor improvements to the implementation of TraceCML. | ||
233 : | [1997-01-30] | ||
234 : | |||
235 : | - Changes to the SML/NJ system (available in 109.25) now make it possible | ||
236 : | to use the top-level print function in CML programs (it gets dynamically | ||
237 : | rebound to CML's version of TextIO.print when a CML program starts running). | ||
238 : | [1997-01-29] | ||
239 : | |||
240 : | - Renamed CML.atEvt to CML.atTimeEvt. | ||
241 : | [1997-01-27] | ||
242 : | |||
243 : | - Added SimpleRPC:SIMPLE_RPC to the CML library. | ||
244 : | [1997-01-26] | ||
245 : | |||
246 : | - Fixed a bug in the I/O manager for the case when two I/O events became | ||
247 : | enabled for the same thread at the same time. | ||
248 : | [1997-01-26] | ||
249 : | |||
250 : | |||
251 : | Version 1.0.1 (SML/NJ 109.22) | ||
252 : | ----------------------------- | ||
253 : | |||
254 : | - Added UnixEnv:UNIX_ENV to the structures reexported from the CML library. | ||
255 : | [1996-11-09] | ||
256 : | |||
257 : | - Fixed bug in {TextIO,BinIO}.StreamIO.endOfStream, where more m-variable | ||
258 : | was getting multiple puts. | ||
259 : | [1996-11-07] | ||
260 : | |||
261 : | |||
262 : | Version 1.0 (SML/NJ 109.21.1) | ||
263 : | ----------------------------- | ||
264 : | |||
265 : | - Added version and banner to CML structure. | ||
266 : | [1996-11-01] | ||
267 : | |||
268 : | - Added CML version of Unix structure. | ||
269 : | [1996-11-01] | ||
270 : | |||
271 : | - Changed the implementation of the internal condition variables to make | ||
272 : | them work correctly. | ||
273 : | [1996-11-01] | ||
274 : | |||
275 : | - Added implementation of OS.IO.poll and OS.IO.pollEvt. | ||
276 : | [1996-11-01] | ||
277 : | |||
278 : | - Fixed implementation of Socket.connect. | ||
279 : | [1996-11-01] | ||
280 : |
root@smlnj-gforge.cs.uchicago.edu | ViewVC Help |
Powered by ViewVC 1.0.0 |