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/NOTES/HISTORY
ViewVC logotype

Diff of /sml/trunk/NOTES/HISTORY

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

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

Legend:
Removed from v.1294  
changed lines
  Added in v.1389

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