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

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

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