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

Legend:
Removed from v.1332  
changed lines
  Added in v.1414

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