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

Legend:
Removed from v.1342  
changed lines
  Added in v.1455

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