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 1337, Tue Jun 17 20:45:15 2003 UTC revision 1351, Fri Sep 5 21:35:54 2003 UTC
# Line 13  Line 13 
13  Description:  Description:
14    
15  ----------------------------------------------------------------------  ----------------------------------------------------------------------
16    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
146    Tag: blume-20030811-windows
147    Description:
148    
149    Version number bumped to 110.42.9.  NEW BOOTFILES!!!
150    
151        http://smlnj.cs.uchicago.edu/dist/working/110.42.9/
152    
153    This patch restores SML/NJ's ability to run under win32.  There are a
154    number of changes, including fixes for several bugs that had gone
155    unnoticed until now:
156    
157      - uname "CYGWIN_NT*" is recognized as win32 (This is relevant only when
158        trying to run the win32 version from within cygwin.)
159    
160      - There are a number of simple .bat scripts that substitute for their
161        corresponding Unix shell-scripts.  (See below.)
162    
163      - The internals of ml-build have been modified slightly.  The main
164        difference is that instead of calling ".link-sml" (or link-sml.bat)
165        using OS.Process.system, the ML process delegates this task back
166        to the script.  Otherwise problems arise in mixed environments such
167        as Cygwin where scripts look and work like Unix scripts, but
168        where OS.Process.system cannot run them.
169    
170      - In CM, the srcpath pickler used native pathname syntax -- which
171        is incorrect in the case of cross-compilation.  The new pickle format
172        is independent of platform-specific naming conventions.
173    
174      - Path configuration files (such as lib/pathconfig) can now choose
175        between native and standard syntax.  Placing a line of the form
176    
177            standard!
178    
179        into the file causes all subsequent paths to be interpreted using
180        CM standard pathname syntax (= Unix conventions); a line
181    
182            native!
183    
184        switches back to native style.  This was needed so that
185        path config files can be written portably, see src/system/pathconfig.
186    
187      - Runtime system:
188    
189          - win32-filesys.c:  get_file_time and set_file_time now
190            access modification time, not creation time.
191    
192          - I/O code made aware of new array representation.
193    
194          - Bug fixes in X86.prim.masm.
195    
196       - src/system/makeml made aware of win32. (For use under cygwin
197            and other Unix-environments for windows.)
198    
199       - In Basis, fixed off-by-one error in win32-io.sml (function vecF)
200         which caused BinIO.inputAll to fail consistently.
201    
202    .bat scripts:
203    
204       Windows .bat scripts assume that SMLNJ_HOME is defined.
205    
206       - sml.bat, ml-yacc.bat, ml-lex.bat:  Driver scripts for standalone
207         applications (sml, ml-yacc, ml-lex).
208       - ml-build.bat: analogous to ml-build.
209       - config\install.bat:  Analogous to config/install.sh.  This requires
210         that SMLNJ_HOME is set and that Microsoft Visual C is ready to use.
211         (nmake etc. must be on the path, and vcvars32 must have been run.)
212         Moreover, sources for ml-lex and ml-yacc need to exist under src,
213         and the bootfile hierarchy must have been unpacked under
214         sml.boot.x86-win32.
215         The script is very primitive and does a poor job at error checking.
216         It only installs the base system, ml-lex, and ml-yacc.  No other
217         libraries are being installed (i.e., you get only those that
218         are part of the compiler.)
219       - link-sml.bat:  analogous to .link-sml, but not currently used
220    
221    Unrelated bug fixes:
222    
223      - ml-nlffigen now exports structures ST_* corresponding to incomplete
224        types.
225      - Added getDevice to PP/src/pp-debug-fn.sml.  (Would not compile
226        otherwise.)
227    
228    ----------------------------------------------------------------------
229  Name: Dave MacQueen (macqueen@cs.uchicago.edu)  Name: Dave MacQueen (macqueen@cs.uchicago.edu)
230  Date: 2003/06/17  Date: 2003/06/17
231  Tag: macqueen-20030617-bug895  Tag: macqueen-20030617-bug895

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

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