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 1353, Mon Sep 8 16:57:39 2003 UTC
# Line 14  Line 14 
14    
15  ----------------------------------------------------------------------  ----------------------------------------------------------------------
16  Name: Matthias Blume (blume@tti-c.org)  Name: Matthias Blume (blume@tti-c.org)
17    Date: 2003/09/08 11:55:00 CDT
18    Tag: blume-20030908-fullpath
19    Description:
20    
21    Made Win32 version of OS.FileSys.fullPath return current directory
22    when given an empty string.  This is what the spec says, and incidentally,
23    CM depends on it.  (CM otherwise goes into an infinite loop in certain
24    cases when presented with the name of a non-existing .cm file.)
25    
26    ----------------------------------------------------------------------
27    Name: Matthias Blume (blume@tti-c.org)
28    Date: 2003/09/04 16:30:00 CDT
29    Tag: blume-20030905-slices-etc
30    Description:
31    
32      1. Changed interface to vectors and arrays in Basis to match
33         (draft) Basis spec.
34      2. Added signatures and implementations of slices according to
35         Basis spec.
36      3. Edited source code throughout the system to make it compile again
37         under 1. and 2.  (In some cases code had to be added to have it
38         match the new signatures.)
39      4. MLRISC should be backward-compatible: the copies of the originals
40         of files that needed to change under 3. were retained, the .cm files
41         check the compiler version number and use old versions when
42         appropriate.
43      5. Changed type of OS.FileSys.readDir and Posix.FileSys.readdir to
44         dirstream -> string option (in accordance with Basis spec).
45      6. When generating code that counts lines, ml-lex used function
46         CharVector.foldli, taking advantage of its old interface.
47         This has been replaced with the corresponding code from
48         CharVectorSlice.  (html-lex must be re-lexed!)
49      7. BitArray in smlnj-lib/Util has been extended/modified to match the
50         new MONO_ARRAY signature.  (Do we need BitArraySlice?)
51      8. Removed temporary additions (fromInternal, toInternal) from the
52         (now obsolete) IntInf in smlnj-lib/Util.
53      9. Cleaned up structure Byte.
54     10. Added localOffset, scan, and fromString to Date (according to spec).
55         Cleaned/corrected implementation of Date.
56         (Still need to check for correctness; implement better canonicalizeDate.)
57     11. Added "scan" to signature IEEE_REAL.
58     12. Some improvements to IntInf [in particular: efficiency-hack for
59         mod and rem when second operand is 2 (for parity checks).]
60     13. Changed representation of type Time.time, using a single IntInf.int
61         value counting microseconds.  This considerably simplified the
62         implementation of structure Time.  We now support negative time
63         values; scan and fromString handle signs.
64     14. Functor PrimIO now takes two additional arguments (VectorSlice and
65         ArraySlice).
66    
67    ----------------------------------------------------------------------
68    Name: Matthias Blume (blume@tti-c.org)
69    Date: 2003/08/28 17:00:00 CDT
70    Tag: blume-20030828-intinf
71    Description:
72    
73    This is a major update which comes with a version number bump
74    (110.42.99 -- yes, we are really close to 110.43 :-), NEW BOOTFILES,
75    and an implementation of IntInf in the Basis.
76    
77    There are a fairly large number of related changes and updates throughout
78    the system:
79    
80    Basis:
81            - Implemented IntInf.
82            - Made LargeInt a projection of IntInf (by filtering through INTEGER).
83            - Added some missing Real64 operations, most notably Real.toLargeInt.
84            - Added FixedInt as a synonym for Int32.
85    
86    compiler:
87            * Added support for a built-in intinf type.
88              - literals
89              - pattern matching
90              - conversion shortcuts (Int32.fromLarge o Int.toLarge etc.)
91              - overloading on literals and operations
92    
93            This required adding a primitive type intinf, some additional
94            primops, and implementations for several non-trivial intinf
95            operations in Core.  (The intinf type is completely abstract
96            to the compiler; all operations get delegated back to the Core.)
97    
98            * Intinf equality is handled by polyequal.  However, the compiler
99            does not print its usual warning in this case (since polyequal
100            is the right thing to do there).
101    
102            * Improved the organization of structure InlineT.
103    
104            * A word about conversion primops:
105            If conversions involving intinf do not cancel out during
106            CPS contract, then the compiler must insert calls to Core functions.
107            Since all core access must be resolved already during the FLINT
108            translate phase, it would be too late a the time of CPS contract
109            to add new Core calls.  For this reason, conversion primops
110            for intinf carry two arguments:  1. the numeric argument that
111            they are supposed to convert, and 2. the Core function that
112            can help with this conversion if necessary.  If CPS contract
113            eliminates a primop, then the associated Core function becomes
114            dead and goes away.  Intinf conversion primops that do not get
115            eliminated by CPS contract get rewritten into calls of their
116            core functions by a separate, new phase.
117    
118    interactive system:
119            - Control.Print.intinfDepth controls max length of intinf constants
120            being printed. (Analogous to Control.Print.stringDepth.)
121            - Cleanup in printutil and pputil: got rid of unused stuff and
122            duplicates; replaced some of the code with code that makes better
123            use of library functionality.
124    
125    CM:
126            Bugfix: parse-errors in init group (system/smlnj/init/init.cmi)
127            are no longer silent.
128    
129    CKIT:
130            Fixed mismatched uses of Int32 and LargeInt.  I always decided
131            in favor of LargeInt -- which is now the same as IntInf.
132            CKIT-knowledgable people should check whether this is what's
133            intended and otherwise change things back to using Int32 or
134            FixedInt.
135    
136    Throughout the code:
137            Started using IntInf.int literals and built-in operations
138            (e.g., comparison with 0) where this seems appropriate.
139    
140    
141    ----------------------------------------------------------------------
142    Name: Dave MacQueen (dbm@cs.uchicago.edu)
143    Date: 2003/08/13 11:36:00 CDT
144    Tag: dbm-20030813-mcz-merge1
145    Description:
146    
147    Merging changes from the mcz-branch development branch into trunk.
148    These changes involve replacement of the emulated old prettyprinter
149    interface with direct use of the SML/NJ Lib PP library, and fixing
150    of a couple of bugs (895, 1186) relating to error messages.  A new
151    prettyprinter for ast datatypes (Elaborator/print/ppast.{sig,sml})
152    has been added.
153    
154    ----------------------------------------------------------------------
155    Name: Matthias Blume (blume@tti-c.org)
156  Date: 2003/08/11 15:45:00 CDT  Date: 2003/08/11 15:45:00 CDT
157  Tag: blume-20030811-windows  Tag: blume-20030811-windows
158  Description:  Description:

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

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