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

Legend:
Removed from v.1335  
changed lines
  Added in v.1390

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