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 1220, Wed May 22 15:04:10 2002 UTC revision 1387, Mon Sep 22 17:10:40 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/22 12:10:00 CDT
18    Tag: blume-20030918-110_43_2
19    Description:
20    
21    Made a new interim version and bootfiles for developer's bootstrapping
22    convenience.
23    
24       110.43.2 -- NEW BOOTFILES
25    
26    ----------------------------------------------------------------------
27    Name: Matthias Blume (blume (at) tti - c (dot) org)
28    Date: 2003/09/19 15:55:00 CDT
29    Tag: blume-20030919-cmdir
30    Description:
31    
32    1. new-install.sh -> install.sh
33    2. changed default CM "metadata" directory name to ".cm" (instead of "CM")
34    3. tweaked installer so that another name instead of .cm can be chosen
35       at install time (by setting the CM_DIR_ARC environment variable
36       during installation); once installation is complete, the name is
37       fixed
38    
39    ----------------------------------------------------------------------
40    Name: Matthias Blume (blume (at) tti - c (dot) org)
41    Date: 2003/09/18 16:00:00 CDT
42    Tag: blume-20030918-110_43_1
43    Description:
44    
45    Made a new interim version and bootfiles for developer's bootstrapping
46    convenience.
47    
48       110.43.1 -- NEW BOOTFILES
49    
50    ----------------------------------------------------------------------
51    Name: Matthias Blume (blume (at) tti - c (dot) org)
52    Date: 2003/09/18 15:20:00 CDT
53    Tag: blume-20030918-misc
54    Description:
55    
56    1. Exported fractionsPerSecond etc. from TimeImp (but not from Time as
57       this seems to be controversial at the moment) and used those in
58       Posix.ProcEnv.times.
59    
60    2. Added Time.{from,to}Nanoseconds to Time.
61    
62    3. Improved Real.{from,to}LargeInt by avoiding needless calculations.
63       For example, fromLargeInt never needs to look at more than 3 "big
64       digits" to get its 53 bits of precision.
65    
66    ----------------------------------------------------------------------
67    Name: Matthias Blume (blume (at) tti - c (dot) org)
68    Date: 2003/09/17 16:30:00 CDT
69    Tag: blume-20030917-real32-slices
70    Description:
71    
72    Added an entry to the primitive environment
73    (compiler/Semant/statenv/prim.sml) for int32->real64 conversion and
74    added code to compiler/CodeGen/main/mlriscGen.sml to implement it.
75    
76    Removed some of the "magic" constants in real64.sml and replaced them
77    with code that generates these values from their corresponding
78    integer counterparts.
79    
80    Made all(?) the slice-related changes to the Basis and made everything
81    compile again...
82    
83    ----------------------------------------------------------------------
84    Name: Matthias Blume (blume (at) tti - c (dot) org)
85    Date: 2003/09/15 17:45:00 CDT
86    Tag: blume-20030915-rbase
87    Description:
88    
89    Fixed bug in Real.fromLargeInt.
90    
91    ----------------------------------------------------------------------
92    Name: Matthias Blume (blume (at) tti - c (dot) org)
93    Date: 2003/09/13 18:11:00 CDT
94    Tag: blume-20030913-libinstall
95    Description:
96    
97    Minor bugfix in config/libinstall (set anchor with path to
98    standalone tool after installing it, otherwise libraries that
99    need ml-lex or ml-yacc won't compile the first time the installer
100    runs).
101    
102    ----------------------------------------------------------------------
103    Name: Matthias Blume (blume (at) tti - c (dot) org)
104    Date: 2003/09/12 11:45:00 CDT
105    Tag: blume-20030912-various
106    Description:
107    
108     - fixed bug in Real.toLargeInt
109     - fixed bug in Posix.ProcEnv.times
110     - changed inputLine functions to return an option
111     - minor installer improvements / bugfixes
112     - changed default @SMLalloc parameter for x86/celeron to 64k
113    
114    ----------------------------------------------------------------------
115    Name: Matthias Blume (blume (at) tti - c (dot) org)
116    Date: 2003/09/09 22:00:00 CDT
117    Tag: Release_110_43
118    Description:
119    
120        New working release 110.43.  New bootfiles.
121    
122    ----------------------------------------------------------------------
123    Name: Matthias Blume (blume (at) tti - c (dot) org)
124    Date: 2003/09/09 19:20:00 CDT
125    Tag: blume-20030909-installer
126    Description:
127    
128    Rewrote large parts of config/install.sh in SML (config/libinstall.sml).
129    Modified config/install.bat to take advantage of it.  Also modified
130    config/install.sh (and called it config/new-install.sh) to take advantage
131    of it on Unix systems.  (The SML code is (supposed to be) platform-
132    independent.)
133    
134    The installer can now install everything under Win32
135    as well as under *nix as long as it compiles.
136    
137    Other changes:
138    
139      - made CML compile again under Win32
140      - made eXene compile under Win32 (by providing a fake structure UnixSock
141        and by using OS.Process.getEnv instead of Posix.ProcEnv.getenv)
142      - fixed a bug in nowhere: it assumed that type OS.Process.status is the
143        same as type int;  under Win32 it isn't
144      - fixed some slice-related problems in the win32-specific parts of CML
145      - added a functor argument "sameVol" to os-path-fn.sml in the Basis
146        (under Win32, the volume name is case-insensitive, and the
147        OS.Path code compares volume names for equality)
148    
149    ----------------------------------------------------------------------
150    Name: Matthias Blume (blume (at) tti - c (dot) org)
151    Date: 2003/09/08 11:55:00 CDT
152    Tag: blume-20030908-fullpath
153    Description:
154    
155    Made Win32 version of OS.FileSys.fullPath return current directory
156    when given an empty string.  This is what the spec says, and incidentally,
157    CM depends on it.  (CM otherwise goes into an infinite loop in certain
158    cases when presented with the name of a non-existing .cm file.)
159    
160    ----------------------------------------------------------------------
161    Name: Matthias Blume (blume (at) tti - c (dot) org)
162    Date: 2003/09/04 16:30:00 CDT
163    Tag: blume-20030905-slices-etc
164    Description:
165    
166      1. Changed interface to vectors and arrays in Basis to match
167         (draft) Basis spec.
168      2. Added signatures and implementations of slices according to
169         Basis spec.
170      3. Edited source code throughout the system to make it compile again
171         under 1. and 2.  (In some cases code had to be added to have it
172         match the new signatures.)
173      4. MLRISC should be backward-compatible: the copies of the originals
174         of files that needed to change under 3. were retained, the .cm files
175         check the compiler version number and use old versions when
176         appropriate.
177      5. Changed type of OS.FileSys.readDir and Posix.FileSys.readdir to
178         dirstream -> string option (in accordance with Basis spec).
179      6. When generating code that counts lines, ml-lex used function
180         CharVector.foldli, taking advantage of its old interface.
181         This has been replaced with the corresponding code from
182         CharVectorSlice.  (html-lex must be re-lexed!)
183      7. BitArray in smlnj-lib/Util has been extended/modified to match the
184         new MONO_ARRAY signature.  (Do we need BitArraySlice?)
185      8. Removed temporary additions (fromInternal, toInternal) from the
186         (now obsolete) IntInf in smlnj-lib/Util.
187      9. Cleaned up structure Byte.
188     10. Added localOffset, scan, and fromString to Date (according to spec).
189         Cleaned/corrected implementation of Date.
190         (Still need to check for correctness; implement better canonicalizeDate.)
191     11. Added "scan" to signature IEEE_REAL.
192     12. Some improvements to IntInf [in particular: efficiency-hack for
193         mod and rem when second operand is 2 (for parity checks).]
194     13. Changed representation of type Time.time, using a single IntInf.int
195         value counting microseconds.  This considerably simplified the
196         implementation of structure Time.  We now support negative time
197         values; scan and fromString handle signs.
198     14. Functor PrimIO now takes two additional arguments (VectorSlice and
199         ArraySlice).
200    
201    ----------------------------------------------------------------------
202    Name: Matthias Blume (blume (at) tti - c (dot) org)
203    Date: 2003/08/28 17:00:00 CDT
204    Tag: blume-20030828-intinf
205    Description:
206    
207    This is a major update which comes with a version number bump
208    (110.42.99 -- yes, we are really close to 110.43 :-), NEW BOOTFILES,
209    and an implementation of IntInf in the Basis.
210    
211    There are a fairly large number of related changes and updates throughout
212    the system:
213    
214    Basis:
215            - Implemented IntInf.
216            - Made LargeInt a projection of IntInf (by filtering through INTEGER).
217            - Added some missing Real64 operations, most notably Real.toLargeInt.
218            - Added FixedInt as a synonym for Int32.
219    
220    compiler:
221            * Added support for a built-in intinf type.
222              - literals
223              - pattern matching
224              - conversion shortcuts (Int32.fromLarge o Int.toLarge etc.)
225              - overloading on literals and operations
226    
227            This required adding a primitive type intinf, some additional
228            primops, and implementations for several non-trivial intinf
229            operations in Core.  (The intinf type is completely abstract
230            to the compiler; all operations get delegated back to the Core.)
231    
232            * Intinf equality is handled by polyequal.  However, the compiler
233            does not print its usual warning in this case (since polyequal
234            is the right thing to do there).
235    
236            * Improved the organization of structure InlineT.
237    
238            * A word about conversion primops:
239            If conversions involving intinf do not cancel out during
240            CPS contract, then the compiler must insert calls to Core functions.
241            Since all core access must be resolved already during the FLINT
242            translate phase, it would be too late a the time of CPS contract
243            to add new Core calls.  For this reason, conversion primops
244            for intinf carry two arguments:  1. the numeric argument that
245            they are supposed to convert, and 2. the Core function that
246            can help with this conversion if necessary.  If CPS contract
247            eliminates a primop, then the associated Core function becomes
248            dead and goes away.  Intinf conversion primops that do not get
249            eliminated by CPS contract get rewritten into calls of their
250            core functions by a separate, new phase.
251    
252    interactive system:
253            - Control.Print.intinfDepth controls max length of intinf constants
254            being printed. (Analogous to Control.Print.stringDepth.)
255            - Cleanup in printutil and pputil: got rid of unused stuff and
256            duplicates; replaced some of the code with code that makes better
257            use of library functionality.
258    
259    CM:
260            Bugfix: parse-errors in init group (system/smlnj/init/init.cmi)
261            are no longer silent.
262    
263    CKIT:
264            Fixed mismatched uses of Int32 and LargeInt.  I always decided
265            in favor of LargeInt -- which is now the same as IntInf.
266            CKIT-knowledgable people should check whether this is what's
267            intended and otherwise change things back to using Int32 or
268            FixedInt.
269    
270    Throughout the code:
271            Started using IntInf.int literals and built-in operations
272            (e.g., comparison with 0) where this seems appropriate.
273    
274    
275    ----------------------------------------------------------------------
276    Name: Dave MacQueen (dbm@cs.uchicago.edu)
277    Date: 2003/08/13 11:36:00 CDT
278    Tag: dbm-20030813-mcz-merge1
279    Description:
280    
281    Merging changes from the mcz-branch development branch into trunk.
282    These changes involve replacement of the emulated old prettyprinter
283    interface with direct use of the SML/NJ Lib PP library, and fixing
284    of a couple of bugs (895, 1186) relating to error messages.  A new
285    prettyprinter for ast datatypes (Elaborator/print/ppast.{sig,sml})
286    has been added.
287    
288    ----------------------------------------------------------------------
289    Name: Matthias Blume (blume (at) tti - c (dot) org)
290    Date: 2003/08/11 15:45:00 CDT
291    Tag: blume-20030811-windows
292    Description:
293    
294    Version number bumped to 110.42.9.  NEW BOOTFILES!!!
295    
296        http://smlnj.cs.uchicago.edu/dist/working/110.42.9/
297    
298    This patch restores SML/NJ's ability to run under win32.  There are a
299    number of changes, including fixes for several bugs that had gone
300    unnoticed until now:
301    
302      - uname "CYGWIN_NT*" is recognized as win32 (This is relevant only when
303        trying to run the win32 version from within cygwin.)
304    
305      - There are a number of simple .bat scripts that substitute for their
306        corresponding Unix shell-scripts.  (See below.)
307    
308      - The internals of ml-build have been modified slightly.  The main
309        difference is that instead of calling ".link-sml" (or link-sml.bat)
310        using OS.Process.system, the ML process delegates this task back
311        to the script.  Otherwise problems arise in mixed environments such
312        as Cygwin where scripts look and work like Unix scripts, but
313        where OS.Process.system cannot run them.
314    
315      - In CM, the srcpath pickler used native pathname syntax -- which
316        is incorrect in the case of cross-compilation.  The new pickle format
317        is independent of platform-specific naming conventions.
318    
319      - Path configuration files (such as lib/pathconfig) can now choose
320        between native and standard syntax.  Placing a line of the form
321    
322            standard!
323    
324        into the file causes all subsequent paths to be interpreted using
325        CM standard pathname syntax (= Unix conventions); a line
326    
327            native!
328    
329        switches back to native style.  This was needed so that
330        path config files can be written portably, see src/system/pathconfig.
331    
332      - Runtime system:
333    
334          - win32-filesys.c:  get_file_time and set_file_time now
335            access modification time, not creation time.
336    
337          - I/O code made aware of new array representation.
338    
339          - Bug fixes in X86.prim.masm.
340    
341       - src/system/makeml made aware of win32. (For use under cygwin
342            and other Unix-environments for windows.)
343    
344       - In Basis, fixed off-by-one error in win32-io.sml (function vecF)
345         which caused BinIO.inputAll to fail consistently.
346    
347    .bat scripts:
348    
349       Windows .bat scripts assume that SMLNJ_HOME is defined.
350    
351       - sml.bat, ml-yacc.bat, ml-lex.bat:  Driver scripts for standalone
352         applications (sml, ml-yacc, ml-lex).
353       - ml-build.bat: analogous to ml-build.
354       - config\install.bat:  Analogous to config/install.sh.  This requires
355         that SMLNJ_HOME is set and that Microsoft Visual C is ready to use.
356         (nmake etc. must be on the path, and vcvars32 must have been run.)
357         Moreover, sources for ml-lex and ml-yacc need to exist under src,
358         and the bootfile hierarchy must have been unpacked under
359         sml.boot.x86-win32.
360         The script is very primitive and does a poor job at error checking.
361         It only installs the base system, ml-lex, and ml-yacc.  No other
362         libraries are being installed (i.e., you get only those that
363         are part of the compiler.)
364       - link-sml.bat:  analogous to .link-sml, but not currently used
365    
366    Unrelated bug fixes:
367    
368      - ml-nlffigen now exports structures ST_* corresponding to incomplete
369        types.
370      - Added getDevice to PP/src/pp-debug-fn.sml.  (Would not compile
371        otherwise.)
372    
373    ----------------------------------------------------------------------
374    Name: Dave MacQueen (macqueen@cs.uchicago.edu)
375    Date: 2003/06/17
376    Tag: macqueen-20030617-bug895
377    Description:
378    
379    Modified compiler/Elaborator/print/pptype.sml to fix bug 895.
380    Tag will be used for new development branch (mcz-branch) for
381    use by MacQueen, (Lucasz) Zairek, and (George) Cao at uchicago.
382    
383    ----------------------------------------------------------------------
384    Name: Matthias Blume (blume (at) tti - c (dot) org)
385    Date: 2003/05/27 16:55:00 CDT
386    Tag: blume-20030527-polyeq
387    Description:
388    
389    Tried to eliminated most cases of polymorphic equality.
390    
391    ----------------------------------------------------------------------
392    Name: Matthias Blume (blume (at) tti - c (dot) org)
393    Date: 2003/05/21 17:45:00 CDT
394    Tag: blume-20030517-complete
395    Description:
396    
397    Two changes:
398    
399      1. Added a flag for controlling whether non-exhaustive bindings will
400         be treated as errors (default is false).
401      2. Cleaned up the *entire* source tree so that CMB.make goes through
402         without a single non-exhaustive match- or bind warning.
403    
404    ----------------------------------------------------------------------
405    Name: Matthias Blume (blume (at) tti - c (dot) org)
406    Date: 2003/05/17 10:20:00 CDT
407    Tag: blume-20030517-absyn
408    Description:
409    
410    1. Added cases for IF, WHILE, ANDALSO, and ORELSE to Absyn.
411    
412       This mainly affects the quality of error messages.  However, some
413       of the code is now more straightforward than before. (Treatment of
414       the above four constructs in translate.sml is much simpler than
415       the "macro-expansion" that was going on before.  Plus, the mach-
416       compiler no longer gets invoked just to be able to compile an
417       if-expression.)
418    
419    2. The ErrorMsg.Error exception is now caught and absorbed by the
420       interactive loop.
421    
422    ----------------------------------------------------------------------
423    Name: Allen Leung
424    Date: 2003/05/16 13:05:00 CDT
425    Tag: leunga-20030516-cygwin-runtime
426    Description:
427    
428        Ported the runtime system to cygwin, which uses the unix
429    x86-unix bin files.  Missing/buggy features:
430    
431       o getnetbyname, getnetbyaddr: these functions seem to be missing in
432         the Cygwin library.
433       o Ctrl-C handling may be flaky.
434       o Windows system calls and Windows I/O are not supported.
435    
436       A new set of binfiles is located at:
437    
438         http://www.dorsai.org/~leunga/boot.x86-unix.tgz
439    
440       This is only needed for bootstrapping the cygwin version of smlnj.
441       Other x86 versions can use the existing binfiles.
442    
443    ----------------------------------------------------------------------
444    Name: Matthias Blume
445    Date: 2003/04/08 15:42:00 CDT
446    Tag: blume-20030408-listpair
447    Description:
448    
449    1. Added a target 'mlrisc' to installer.
450    
451    2. Added missing elements to structure ListPair.
452    
453    ----------------------------------------------------------------------
454    Name: Allen Leung
455    Date: 2003/01/07 10:40:00 EST
456    Tag: leunga-20030107-int-rem
457    Description:
458    
459    Fixed a bug in Int.rem(x,y) where y is a power of 2 on x86.
460    The arguments to the SUBL instruction were swapped.
461    
462    ----------------------------------------------------------------------
463    Name: Matthias Blume
464    Date: 2002/12/12 16:25:00 EST
465    Tag: blume-20021212-risc-ra
466    Description:
467    
468    Fixed a serious bug in the rewrite code for FP spilling/reloading that
469    sent the RA into an infinite loop when floating point registers get
470    spilled.  (Because of this bug, e.g., nucleic stopped compiling between
471    110.37 and 110.38.)
472    There was another set of potential problems related to the handling of
473    MLRISC annotations (but those did not yet cause real problems, apparently).
474    
475    ----------------------------------------------------------------------
476    Name: Matthias Blume
477    Date: 2002/12/06 22:40:00 EST
478    Tag: blume-20021206-cm-fileid
479    Description:
480    
481    Added a call of SrcPath.sync at the beginning of Parse.parse (in CM).
482    This fixes the problem of CM getting confused by files that suddenly
483    change their identity (e.g., by getting unlinked and recreated by some
484    text editor such as vi).  There might be a better/cheaper/cleaner way
485    of doing this, but for now this will have to do.
486    
487    ----------------------------------------------------------------------
488    Name: Matthias Blume
489    Date: 2002/10/28 09:50:00 EST
490    Tag: blume-20021028-typecheck
491    Description:
492    
493    Exported structure Typecheck from $smlnj/viscomp/core.cm.
494    
495    ----------------------------------------------------------------------
496    Name: Matthias Blume
497    Date: 2002/10/17 09:10:00 EDT
498    Tag: Release_110_42
499    Description:
500    
501    In good old tradition, there has been a slight hiccup so that we have
502    to patch 110.42 after the fact.   The old release tag has been replaced
503    (see below).
504    
505    The change solves a problem with two competing approaches the
506    configuration problem regarding MacOS 10.1 vs. MacOS 10.2 which got in
507    each other's way.
508    
509    This change only affects the runtime system code and the installer script.
510    (No new bootfiles.)
511    
512    ----------------------------------------------------------------------
513    Name: Matthias Blume
514    Date: 2002/10/16 12:00:00 EDT
515    Tag: Release_110_42_removed
516    Description:
517    
518    New working release.  New bootfiles.
519    
520    ----------------------------------------------------------------------
521    Name: Matthias Blume
522    Date: 2002/10/10 13:10:00 EDT
523    Tag: blume-20021010-ppc-divs
524    Description:
525    
526    The mltree operator DIVS must be implemented with an overflow check on
527    the PPC because the hardware indicates divide-by-zero using "overflow" as
528    well.
529    
530    ----------------------------------------------------------------------
531    Name: Matthias Blume
532    Date: 2002/07/23 11:45:00
533    Tag: blume-20020723-smlnj-home
534    Description:
535    
536    Sml now senses the SMLNJ_HOME environment variable.  If this is set,
537    then the bin dir is assumed to be in $SMLNJ_HOME/bin and (unless
538    CM_PATHCONFIG is also set), the path configuration file is assumed
539    to be in $SMLNJ_HOME/lib/pathconfig.  This way one can easily move
540    the entire tree to some other place and everything will "just work".
541    
542    (Companion commands such as ml-build and ml-makedepend also sense this
543    variable.)
544    
545    ----------------------------------------------------------------------
546    Name: Matthias Blume
547    Date: 2002/07/12 21:19:00 EDT
548    Tag: blume-20020712-liveness
549    Description:
550    
551    Exported two useful "step" functions from liveness module (MLRISC).
552    
553    ----------------------------------------------------------------------
554    Name: Matthias Blume
555    Date: 2002/07/05 16:00 EDT
556    Tag: Release_110_41
557    Description:
558    
559    New working release.  New bootfiles.
560    
561    ----------------------------------------------------------------------
562    Name: Matthias Blume
563    Date: 2002/07/05 10:25:00 EDT
564    Tag: blume-20020705-btimp
565    Description:
566    
567    Exported structure BTImp from $smlnj/viscomp/debugprof.cm so that
568    other clients can set up backtracing support.
569    
570    ----------------------------------------------------------------------
571    Name: Matthias Blume
572    Date: 2002/06/25 17:23:00 EDT
573    Tag: blume-20020625-fpmax
574    Description:
575    
576    Fixed a bug in translation of INLMAX (and INLMIN) for the floating-point
577    case.  (The sense of the isNaN test was reversed -- which made min and
578    max always return their first argument.)
579    
580    ----------------------------------------------------------------------
581    Name: Matthias Blume
582    Date: 2002/06/11
583    Tag: blume-20020611-unixpath
584    Description:
585    
586    Back-ported OS.Path.{from,to}UnixPath from idlbasis-devel branch.
587    
588    ----------------------------------------------------------------------
589    Name: Matthias Blume
590    Date: 2002/06/10 16:35:00 EDT
591    Tag: blume-20020610-ieeereal
592    Description:
593    
594    I back-ported my implementation of IEEEReal.fromString from the
595    idlbasis-devel branch so that we can test it.
596    
597    Another small change is that ppDec tries to give more information
598    than just "<sig>" in the case of functors.  However, this code is
599    broken in some mysterious way if the functor's body's signature
600    has not been declared by ascription but gets inferred from the
601    implementation.  This needs fixing...
602    
603    ----------------------------------------------------------------------
604    Name: Matthias Blume
605    Date: 2002/05/31
606    Tag: blume-20020531-btrace-mode
607    Description:
608    
609    Resurrected SMLofNJ.Internals.BTrace.mode.  (It accidentally fell by
610    the wayside when I switched over to using Controls everywhere.)
611    
612    ----------------------------------------------------------------------
613    Name: Lal George
614    Date: 2002/05/23 12:21:40 EDT
615    Tag: george-20020523-visual-labels
616    Description:
617    
618    Labels are now displayed in the graphical output to make
619    the fall-through and target blocks obvious.
620    
621    ----------------------------------------------------------------------
622  Name: Matthias Blume  Name: Matthias Blume
623  Date: 2002/05/22 11:03:00 EDT  Date: 2002/05/22 11:03:00 EDT
624  Tag: blume-20020522-shrink  Tag: blume-20020522-shrink

Legend:
Removed from v.1220  
changed lines
  Added in v.1387

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