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 /sml/trunk/HISTORY
ViewVC logotype

Diff of /sml/trunk/HISTORY

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

revision 1343, Wed Aug 13 17:44:22 2003 UTC revision 1399, Tue Sep 30 21:10:05 2003 UTC
# Line 13  Line 13 
13  Description:  Description:
14    
15  ----------------------------------------------------------------------  ----------------------------------------------------------------------
16    Name: Matthias Blume (blume (at) tti - c (dot) org)
17    Date: 2003/09/30 16:10:00 CDT
18    Tag: blume-20030930-primio-bat
19    Description:
20    
21    1. Added openVector, nullRd, and nullWr to PRIM_IO.
22    2. Improved .bat files (for Win32 port) to make things work under Win95.
23       (thanks to Aaron S. Hawley for this one)
24    
25    ----------------------------------------------------------------------
26    Name: Matthias Blume (blume (at) tti - c (dot) org)
27    Date: 2003/09/26 16:05:00 CDT
28    Tag: blume-20030926-wrappriv
29    Description:
30    
31    Added missing wrapper for privilege "primitive" in $smlnj/viscomp/core.cm.
32    
33    ----------------------------------------------------------------------
34    Name: Matthias Blume (blume (at) tti - c (dot) org)
35    Date: 2003/09/26 15:00:00 CDT
36    Tag: blume-20030926-110_43_3
37    Description:
38    
39    - additional cleanup
40    - version number bump, NEW BOOTFILES
41    
42    ----------------------------------------------------------------------
43    Name: Matthias Blume (blume (at) tti - c (dot) org)
44    Date: 2003/09/26 12:00:00 CDT
45    Tag: blume-20030926-ppautoload
46    Description:
47    
48    I modified the read-eval-print loop so that the autoloader gets
49    invoked whenever the prettyprinter tries to look up a symbol that
50    is not currently defined in the toplevel environment but which
51    appears in CM's autoload registry.  As a result, we see far fewer of
52    those ?.Foo.Bar.xxx names in the prettyprinter's output.
53    
54    In addition to this I tried to clean up some pieces of the Basis
55    implementation (e.g., Socket, Word8Array) in order to prevent other
56    instances of these ?.Foo.Bar.xxx names from being printed.
57    
58    The mechanism that picks names for types still needs some work, though.
59    (Right now it seems that if there is a type A.t which is defined to
60    be B.u, but B is unavailable at toplevel, then A.t gets printed as
61    "?.B.u" although the perhaps more sensible solution would be to use
62    "A.t" in this case.  In other words, the prettyprinter should follow
63    a chain of DEFtycs not farther than there are corresponding toplevel
64    names in the current environment.)
65    
66    ----------------------------------------------------------------------
67    Name: Matthias Blume (blume (at) tti - c (dot) org)
68    Date: 2003/09/24 16:31:00 CDT
69    Tag: blume-20030924-installer
70    Description:
71    
72    Another installer tweak:  All the ML code for the installer is now
73    compiled during CMB.make and put into a little library called
74    $smlnj/installer.cm.  The installation then simply invokes
75    
76       sml -m $smlnj/installer.cm
77    
78    and everything happens automagically.
79    
80    Win32:  ML code senses value of environment variable SMLNJ_HOME.
81    Unix:   ML code senses values of environment variables ROOT, CONFIGDIR,
82            and BINDIR.
83    
84    The new scheme guarantees that the ML code responsible for the installation
85    is in sync with the APIs of the main system.  Also, the installer is
86    somewhat faster because the installer script is precompiled.
87    
88    ----------------------------------------------------------------------
89    Name: Matthias Blume (blume (at) tti - c (dot) org)
90    Date: 2003/09/24 15:35:00 CDT
91    Tag: blume-20030924-synsock
92    Description:
93    
94    Added a signature SYNCHRONOUS_SOCKET to basis.cm.  This is like SOCKET
95    but excludes all non-blocking operations.  Defined SOCKET (in Basis)
96    and CML_SOCKET in terms of SYNCHRONOUS_SOCKET.  Removed superfluous
97    implementations of non-blocking operations from CML's Socket
98    structure.
99    
100    ----------------------------------------------------------------------
101    Name: Matthias Blume (blume (at) tti - c (dot) org)
102    Date: 2003/09/24 15:10:05 CDT
103    Tag: blume-20030924-sockets
104    Description:
105    
106    1. Fixed SOCKET API and implementation to match Basis spec.
107       This required changing the internal representation of sockets to one
108       that remembers (for each socket file descriptor) whether it is currently
109       blocking or non-blocking.  This state is maintained lazily (i.e., a system
110       call is made only if the state actually needs to change).
111    
112    2. OS-specific details of sockets were moved into separate files, thus
113       making it possible to unify the bulk of the socket implementations
114       between Unix and Win32.
115    
116    3. CML's socket API changed accordingly.
117       (Note that we need to remove non-blocking functions from this API
118       since they are redundant in the case of CML!)
119    
120    4. CML's socket implementation now makes use of non-blocking functions
121       provided by Basis, thus removing all OS-dependent code from this part
122       of CML.
123    
124    5. Changed Real64.precision from 52 to 53.  Minor cleanup in Real64 code.
125    
126    ----------------------------------------------------------------------
127    Name: Matthias Blume (blume (at) tti - c (dot) org)
128    Date: 2003/09/22 12:10:00 CDT
129    Tag: blume-20030922-110_43_2
130    Description:
131    
132    Made a new interim version and bootfiles for developer's bootstrapping
133    convenience.
134    
135       110.43.2 -- NEW BOOTFILES
136    
137    ----------------------------------------------------------------------
138    Name: Matthias Blume (blume (at) tti - c (dot) org)
139    Date: 2003/09/19 15:55:00 CDT
140    Tag: blume-20030919-cmdir
141    Description:
142    
143    1. new-install.sh -> install.sh
144    2. changed default CM "metadata" directory name to ".cm" (instead of "CM")
145    3. tweaked installer so that another name instead of .cm can be chosen
146       at install time (by setting the CM_DIR_ARC environment variable
147       during installation); once installation is complete, the name is
148       fixed
149    
150    ----------------------------------------------------------------------
151    Name: Matthias Blume (blume (at) tti - c (dot) org)
152    Date: 2003/09/18 16:00:00 CDT
153    Tag: blume-20030918-110_43_1
154    Description:
155    
156    Made a new interim version and bootfiles for developer's bootstrapping
157    convenience.
158    
159       110.43.1 -- NEW BOOTFILES
160    
161    ----------------------------------------------------------------------
162    Name: Matthias Blume (blume (at) tti - c (dot) org)
163    Date: 2003/09/18 15:20:00 CDT
164    Tag: blume-20030918-misc
165    Description:
166    
167    1. Exported fractionsPerSecond etc. from TimeImp (but not from Time as
168       this seems to be controversial at the moment) and used those in
169       Posix.ProcEnv.times.
170    
171    2. Added Time.{from,to}Nanoseconds to Time.
172    
173    3. Improved Real.{from,to}LargeInt by avoiding needless calculations.
174       For example, fromLargeInt never needs to look at more than 3 "big
175       digits" to get its 53 bits of precision.
176    
177    ----------------------------------------------------------------------
178    Name: Matthias Blume (blume (at) tti - c (dot) org)
179    Date: 2003/09/17 16:30:00 CDT
180    Tag: blume-20030917-real32-slices
181    Description:
182    
183    Added an entry to the primitive environment
184    (compiler/Semant/statenv/prim.sml) for int32->real64 conversion and
185    added code to compiler/CodeGen/main/mlriscGen.sml to implement it.
186    
187    Removed some of the "magic" constants in real64.sml and replaced them
188    with code that generates these values from their corresponding
189    integer counterparts.
190    
191    Made all(?) the slice-related changes to the Basis and made everything
192    compile again...
193    
194    ----------------------------------------------------------------------
195    Name: Matthias Blume (blume (at) tti - c (dot) org)
196    Date: 2003/09/15 17:45:00 CDT
197    Tag: blume-20030915-rbase
198    Description:
199    
200    Fixed bug in Real.fromLargeInt.
201    
202    ----------------------------------------------------------------------
203    Name: Matthias Blume (blume (at) tti - c (dot) org)
204    Date: 2003/09/13 18:11:00 CDT
205    Tag: blume-20030913-libinstall
206    Description:
207    
208    Minor bugfix in config/libinstall (set anchor with path to
209    standalone tool after installing it, otherwise libraries that
210    need ml-lex or ml-yacc won't compile the first time the installer
211    runs).
212    
213    ----------------------------------------------------------------------
214    Name: Matthias Blume (blume (at) tti - c (dot) org)
215    Date: 2003/09/12 11:45:00 CDT
216    Tag: blume-20030912-various
217    Description:
218    
219     - fixed bug in Real.toLargeInt
220     - fixed bug in Posix.ProcEnv.times
221     - changed inputLine functions to return an option
222     - minor installer improvements / bugfixes
223     - changed default @SMLalloc parameter for x86/celeron to 64k
224    
225    ----------------------------------------------------------------------
226    Name: Matthias Blume (blume (at) tti - c (dot) org)
227    Date: 2003/09/09 22:00:00 CDT
228    Tag: Release_110_43
229    Description:
230    
231        New working release 110.43.  New bootfiles.
232    
233    ----------------------------------------------------------------------
234    Name: Matthias Blume (blume (at) tti - c (dot) org)
235    Date: 2003/09/09 19:20:00 CDT
236    Tag: blume-20030909-installer
237    Description:
238    
239    Rewrote large parts of config/install.sh in SML (config/libinstall.sml).
240    Modified config/install.bat to take advantage of it.  Also modified
241    config/install.sh (and called it config/new-install.sh) to take advantage
242    of it on Unix systems.  (The SML code is (supposed to be) platform-
243    independent.)
244    
245    The installer can now install everything under Win32
246    as well as under *nix as long as it compiles.
247    
248    Other changes:
249    
250      - made CML compile again under Win32
251      - made eXene compile under Win32 (by providing a fake structure UnixSock
252        and by using OS.Process.getEnv instead of Posix.ProcEnv.getenv)
253      - fixed a bug in nowhere: it assumed that type OS.Process.status is the
254        same as type int;  under Win32 it isn't
255      - fixed some slice-related problems in the win32-specific parts of CML
256      - added a functor argument "sameVol" to os-path-fn.sml in the Basis
257        (under Win32, the volume name is case-insensitive, and the
258        OS.Path code compares volume names for equality)
259    
260    ----------------------------------------------------------------------
261    Name: Matthias Blume (blume (at) tti - c (dot) org)
262    Date: 2003/09/08 11:55:00 CDT
263    Tag: blume-20030908-fullpath
264    Description:
265    
266    Made Win32 version of OS.FileSys.fullPath return current directory
267    when given an empty string.  This is what the spec says, and incidentally,
268    CM depends on it.  (CM otherwise goes into an infinite loop in certain
269    cases when presented with the name of a non-existing .cm file.)
270    
271    ----------------------------------------------------------------------
272    Name: Matthias Blume (blume (at) tti - c (dot) org)
273    Date: 2003/09/04 16:30:00 CDT
274    Tag: blume-20030905-slices-etc
275    Description:
276    
277      1. Changed interface to vectors and arrays in Basis to match
278         (draft) Basis spec.
279      2. Added signatures and implementations of slices according to
280         Basis spec.
281      3. Edited source code throughout the system to make it compile again
282         under 1. and 2.  (In some cases code had to be added to have it
283         match the new signatures.)
284      4. MLRISC should be backward-compatible: the copies of the originals
285         of files that needed to change under 3. were retained, the .cm files
286         check the compiler version number and use old versions when
287         appropriate.
288      5. Changed type of OS.FileSys.readDir and Posix.FileSys.readdir to
289         dirstream -> string option (in accordance with Basis spec).
290      6. When generating code that counts lines, ml-lex used function
291         CharVector.foldli, taking advantage of its old interface.
292         This has been replaced with the corresponding code from
293         CharVectorSlice.  (html-lex must be re-lexed!)
294      7. BitArray in smlnj-lib/Util has been extended/modified to match the
295         new MONO_ARRAY signature.  (Do we need BitArraySlice?)
296      8. Removed temporary additions (fromInternal, toInternal) from the
297         (now obsolete) IntInf in smlnj-lib/Util.
298      9. Cleaned up structure Byte.
299     10. Added localOffset, scan, and fromString to Date (according to spec).
300         Cleaned/corrected implementation of Date.
301         (Still need to check for correctness; implement better canonicalizeDate.)
302     11. Added "scan" to signature IEEE_REAL.
303     12. Some improvements to IntInf [in particular: efficiency-hack for
304         mod and rem when second operand is 2 (for parity checks).]
305     13. Changed representation of type Time.time, using a single IntInf.int
306         value counting microseconds.  This considerably simplified the
307         implementation of structure Time.  We now support negative time
308         values; scan and fromString handle signs.
309     14. Functor PrimIO now takes two additional arguments (VectorSlice and
310         ArraySlice).
311    
312    ----------------------------------------------------------------------
313    Name: Matthias Blume (blume (at) tti - c (dot) org)
314    Date: 2003/08/28 17:00:00 CDT
315    Tag: blume-20030828-intinf
316    Description:
317    
318    This is a major update which comes with a version number bump
319    (110.42.99 -- yes, we are really close to 110.43 :-), NEW BOOTFILES,
320    and an implementation of IntInf in the Basis.
321    
322    There are a fairly large number of related changes and updates throughout
323    the system:
324    
325    Basis:
326            - Implemented IntInf.
327            - Made LargeInt a projection of IntInf (by filtering through INTEGER).
328            - Added some missing Real64 operations, most notably Real.toLargeInt.
329            - Added FixedInt as a synonym for Int32.
330    
331    compiler:
332            * Added support for a built-in intinf type.
333              - literals
334              - pattern matching
335              - conversion shortcuts (Int32.fromLarge o Int.toLarge etc.)
336              - overloading on literals and operations
337    
338            This required adding a primitive type intinf, some additional
339            primops, and implementations for several non-trivial intinf
340            operations in Core.  (The intinf type is completely abstract
341            to the compiler; all operations get delegated back to the Core.)
342    
343            * Intinf equality is handled by polyequal.  However, the compiler
344            does not print its usual warning in this case (since polyequal
345            is the right thing to do there).
346    
347            * Improved the organization of structure InlineT.
348    
349            * A word about conversion primops:
350            If conversions involving intinf do not cancel out during
351            CPS contract, then the compiler must insert calls to Core functions.
352            Since all core access must be resolved already during the FLINT
353            translate phase, it would be too late a the time of CPS contract
354            to add new Core calls.  For this reason, conversion primops
355            for intinf carry two arguments:  1. the numeric argument that
356            they are supposed to convert, and 2. the Core function that
357            can help with this conversion if necessary.  If CPS contract
358            eliminates a primop, then the associated Core function becomes
359            dead and goes away.  Intinf conversion primops that do not get
360            eliminated by CPS contract get rewritten into calls of their
361            core functions by a separate, new phase.
362    
363    interactive system:
364            - Control.Print.intinfDepth controls max length of intinf constants
365            being printed. (Analogous to Control.Print.stringDepth.)
366            - Cleanup in printutil and pputil: got rid of unused stuff and
367            duplicates; replaced some of the code with code that makes better
368            use of library functionality.
369    
370    CM:
371            Bugfix: parse-errors in init group (system/smlnj/init/init.cmi)
372            are no longer silent.
373    
374    CKIT:
375            Fixed mismatched uses of Int32 and LargeInt.  I always decided
376            in favor of LargeInt -- which is now the same as IntInf.
377            CKIT-knowledgable people should check whether this is what's
378            intended and otherwise change things back to using Int32 or
379            FixedInt.
380    
381    Throughout the code:
382            Started using IntInf.int literals and built-in operations
383            (e.g., comparison with 0) where this seems appropriate.
384    
385    
386    ----------------------------------------------------------------------
387  Name: Dave MacQueen (dbm@cs.uchicago.edu)  Name: Dave MacQueen (dbm@cs.uchicago.edu)
388  Date: 2003/08/13 11:36:00 CDT  Date: 2003/08/13 11:36:00 CDT
389  Tag: dbm-20030813-mcz-merge1  Tag: dbm-20030813-mcz-merge1
# Line 26  Line 397 
397  has been added.  has been added.
398    
399  ----------------------------------------------------------------------  ----------------------------------------------------------------------
400  Name: Matthias Blume (blume@tti-c.org)  Name: Matthias Blume (blume (at) tti - c (dot) org)
401  Date: 2003/08/11 15:45:00 CDT  Date: 2003/08/11 15:45:00 CDT
402  Tag: blume-20030811-windows  Tag: blume-20030811-windows
403  Description:  Description:
# Line 121  Line 492 
492  use by MacQueen, (Lucasz) Zairek, and (George) Cao at uchicago.  use by MacQueen, (Lucasz) Zairek, and (George) Cao at uchicago.
493    
494  ----------------------------------------------------------------------  ----------------------------------------------------------------------
495  Name: Matthias Blume (blume@tti-c.org)  Name: Matthias Blume (blume (at) tti - c (dot) org)
496  Date: 2003/05/27 16:55:00 CDT  Date: 2003/05/27 16:55:00 CDT
497  Tag: blume-20030527-polyeq  Tag: blume-20030527-polyeq
498  Description:  Description:
# Line 129  Line 500 
500  Tried to eliminated most cases of polymorphic equality.  Tried to eliminated most cases of polymorphic equality.
501    
502  ----------------------------------------------------------------------  ----------------------------------------------------------------------
503  Name: Matthias Blume (blume@tti-c.org)  Name: Matthias Blume (blume (at) tti - c (dot) org)
504  Date: 2003/05/21 17:45:00 CDT  Date: 2003/05/21 17:45:00 CDT
505  Tag: blume-20030517-complete  Tag: blume-20030517-complete
506  Description:  Description:
# Line 142  Line 513 
513       without a single non-exhaustive match- or bind warning.       without a single non-exhaustive match- or bind warning.
514    
515  ----------------------------------------------------------------------  ----------------------------------------------------------------------
516  Name: Matthias Blume (blume@tti-c.org)  Name: Matthias Blume (blume (at) tti - c (dot) org)
517  Date: 2003/05/17 10:20:00 CDT  Date: 2003/05/17 10:20:00 CDT
518  Tag: blume-20030517-absyn  Tag: blume-20030517-absyn
519  Description:  Description:

Legend:
Removed from v.1343  
changed lines
  Added in v.1399

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