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 1343, Wed Aug 13 17:44:22 2003 UTC revision 1409, Mon Nov 3 22:00:35 2003 UTC
# Line 13  Line 13 
13  Description:  Description:
14    
15  ----------------------------------------------------------------------  ----------------------------------------------------------------------
16    Name: Matthias Blume (blume (at) tti - c (dot) org)
17    Date: 2003/11/03 16:00:00 CST
18    Tag: blume-20031103-installdir
19    Description:
20    
21    Made installer honor INSTALLDIR variable again.  (Thanks to Chris
22    Richards for pointing out the problem and providing the solution.)
23    
24    ----------------------------------------------------------------------
25    Name: Matthias Blume (blume (at) tti - c (dot) org)
26    Date: 2003/10/01 17:05:00 CDT
27    Tag: blume-20031001-lal-mlrisc
28    Description:
29    
30    MLRISC bug fix from Lal.
31    
32    ----------------------------------------------------------------------
33    Name: Matthias Blume (blume (at) tti - c (dot) org)
34    Date: 2003/09/30 16:10:00 CDT
35    Tag: blume-20030930-primio-bat
36    Description:
37    
38    1. Added openVector, nullRd, and nullWr to PRIM_IO.
39    2. Improved .bat files (for Win32 port) to make things work under Win95.
40       (thanks to Aaron S. Hawley for this one)
41    
42    ----------------------------------------------------------------------
43    Name: Matthias Blume (blume (at) tti - c (dot) org)
44    Date: 2003/09/26 16:05:00 CDT
45    Tag: blume-20030926-wrappriv
46    Description:
47    
48    Added missing wrapper for privilege "primitive" in $smlnj/viscomp/core.cm.
49    
50    ----------------------------------------------------------------------
51    Name: Matthias Blume (blume (at) tti - c (dot) org)
52    Date: 2003/09/26 15:00:00 CDT
53    Tag: blume-20030926-110_43_3
54    Description:
55    
56    - additional cleanup
57    - version number bump, NEW BOOTFILES
58    
59    ----------------------------------------------------------------------
60    Name: Matthias Blume (blume (at) tti - c (dot) org)
61    Date: 2003/09/26 12:00:00 CDT
62    Tag: blume-20030926-ppautoload
63    Description:
64    
65    I modified the read-eval-print loop so that the autoloader gets
66    invoked whenever the prettyprinter tries to look up a symbol that
67    is not currently defined in the toplevel environment but which
68    appears in CM's autoload registry.  As a result, we see far fewer of
69    those ?.Foo.Bar.xxx names in the prettyprinter's output.
70    
71    In addition to this I tried to clean up some pieces of the Basis
72    implementation (e.g., Socket, Word8Array) in order to prevent other
73    instances of these ?.Foo.Bar.xxx names from being printed.
74    
75    The mechanism that picks names for types still needs some work, though.
76    (Right now it seems that if there is a type A.t which is defined to
77    be B.u, but B is unavailable at toplevel, then A.t gets printed as
78    "?.B.u" although the perhaps more sensible solution would be to use
79    "A.t" in this case.  In other words, the prettyprinter should follow
80    a chain of DEFtycs not farther than there are corresponding toplevel
81    names in the current environment.)
82    
83    ----------------------------------------------------------------------
84    Name: Matthias Blume (blume (at) tti - c (dot) org)
85    Date: 2003/09/24 16:31:00 CDT
86    Tag: blume-20030924-installer
87    Description:
88    
89    Another installer tweak:  All the ML code for the installer is now
90    compiled during CMB.make and put into a little library called
91    $smlnj/installer.cm.  The installation then simply invokes
92    
93       sml -m $smlnj/installer.cm
94    
95    and everything happens automagically.
96    
97    Win32:  ML code senses value of environment variable SMLNJ_HOME.
98    Unix:   ML code senses values of environment variables ROOT, CONFIGDIR,
99            and BINDIR.
100    
101    The new scheme guarantees that the ML code responsible for the installation
102    is in sync with the APIs of the main system.  Also, the installer is
103    somewhat faster because the installer script is precompiled.
104    
105    ----------------------------------------------------------------------
106    Name: Matthias Blume (blume (at) tti - c (dot) org)
107    Date: 2003/09/24 15:35:00 CDT
108    Tag: blume-20030924-synsock
109    Description:
110    
111    Added a signature SYNCHRONOUS_SOCKET to basis.cm.  This is like SOCKET
112    but excludes all non-blocking operations.  Defined SOCKET (in Basis)
113    and CML_SOCKET in terms of SYNCHRONOUS_SOCKET.  Removed superfluous
114    implementations of non-blocking operations from CML's Socket
115    structure.
116    
117    ----------------------------------------------------------------------
118    Name: Matthias Blume (blume (at) tti - c (dot) org)
119    Date: 2003/09/24 15:10:05 CDT
120    Tag: blume-20030924-sockets
121    Description:
122    
123    1. Fixed SOCKET API and implementation to match Basis spec.
124       This required changing the internal representation of sockets to one
125       that remembers (for each socket file descriptor) whether it is currently
126       blocking or non-blocking.  This state is maintained lazily (i.e., a system
127       call is made only if the state actually needs to change).
128    
129    2. OS-specific details of sockets were moved into separate files, thus
130       making it possible to unify the bulk of the socket implementations
131       between Unix and Win32.
132    
133    3. CML's socket API changed accordingly.
134       (Note that we need to remove non-blocking functions from this API
135       since they are redundant in the case of CML!)
136    
137    4. CML's socket implementation now makes use of non-blocking functions
138       provided by Basis, thus removing all OS-dependent code from this part
139       of CML.
140    
141    5. Changed Real64.precision from 52 to 53.  Minor cleanup in Real64 code.
142    
143    ----------------------------------------------------------------------
144    Name: Matthias Blume (blume (at) tti - c (dot) org)
145    Date: 2003/09/22 12:10:00 CDT
146    Tag: blume-20030922-110_43_2
147    Description:
148    
149    Made a new interim version and bootfiles for developer's bootstrapping
150    convenience.
151    
152       110.43.2 -- NEW BOOTFILES
153    
154    ----------------------------------------------------------------------
155    Name: Matthias Blume (blume (at) tti - c (dot) org)
156    Date: 2003/09/19 15:55:00 CDT
157    Tag: blume-20030919-cmdir
158    Description:
159    
160    1. new-install.sh -> install.sh
161    2. changed default CM "metadata" directory name to ".cm" (instead of "CM")
162    3. tweaked installer so that another name instead of .cm can be chosen
163       at install time (by setting the CM_DIR_ARC environment variable
164       during installation); once installation is complete, the name is
165       fixed
166    
167    ----------------------------------------------------------------------
168    Name: Matthias Blume (blume (at) tti - c (dot) org)
169    Date: 2003/09/18 16:00:00 CDT
170    Tag: blume-20030918-110_43_1
171    Description:
172    
173    Made a new interim version and bootfiles for developer's bootstrapping
174    convenience.
175    
176       110.43.1 -- NEW BOOTFILES
177    
178    ----------------------------------------------------------------------
179    Name: Matthias Blume (blume (at) tti - c (dot) org)
180    Date: 2003/09/18 15:20:00 CDT
181    Tag: blume-20030918-misc
182    Description:
183    
184    1. Exported fractionsPerSecond etc. from TimeImp (but not from Time as
185       this seems to be controversial at the moment) and used those in
186       Posix.ProcEnv.times.
187    
188    2. Added Time.{from,to}Nanoseconds to Time.
189    
190    3. Improved Real.{from,to}LargeInt by avoiding needless calculations.
191       For example, fromLargeInt never needs to look at more than 3 "big
192       digits" to get its 53 bits of precision.
193    
194    ----------------------------------------------------------------------
195    Name: Matthias Blume (blume (at) tti - c (dot) org)
196    Date: 2003/09/17 16:30:00 CDT
197    Tag: blume-20030917-real32-slices
198    Description:
199    
200    Added an entry to the primitive environment
201    (compiler/Semant/statenv/prim.sml) for int32->real64 conversion and
202    added code to compiler/CodeGen/main/mlriscGen.sml to implement it.
203    
204    Removed some of the "magic" constants in real64.sml and replaced them
205    with code that generates these values from their corresponding
206    integer counterparts.
207    
208    Made all(?) the slice-related changes to the Basis and made everything
209    compile again...
210    
211    ----------------------------------------------------------------------
212    Name: Matthias Blume (blume (at) tti - c (dot) org)
213    Date: 2003/09/15 17:45:00 CDT
214    Tag: blume-20030915-rbase
215    Description:
216    
217    Fixed bug in Real.fromLargeInt.
218    
219    ----------------------------------------------------------------------
220    Name: Matthias Blume (blume (at) tti - c (dot) org)
221    Date: 2003/09/13 18:11:00 CDT
222    Tag: blume-20030913-libinstall
223    Description:
224    
225    Minor bugfix in config/libinstall (set anchor with path to
226    standalone tool after installing it, otherwise libraries that
227    need ml-lex or ml-yacc won't compile the first time the installer
228    runs).
229    
230    ----------------------------------------------------------------------
231    Name: Matthias Blume (blume (at) tti - c (dot) org)
232    Date: 2003/09/12 11:45:00 CDT
233    Tag: blume-20030912-various
234    Description:
235    
236     - fixed bug in Real.toLargeInt
237     - fixed bug in Posix.ProcEnv.times
238     - changed inputLine functions to return an option
239     - minor installer improvements / bugfixes
240     - changed default @SMLalloc parameter for x86/celeron to 64k
241    
242    ----------------------------------------------------------------------
243    Name: Matthias Blume (blume (at) tti - c (dot) org)
244    Date: 2003/09/09 22:00:00 CDT
245    Tag: Release_110_43
246    Description:
247    
248        New working release 110.43.  New bootfiles.
249    
250    ----------------------------------------------------------------------
251    Name: Matthias Blume (blume (at) tti - c (dot) org)
252    Date: 2003/09/09 19:20:00 CDT
253    Tag: blume-20030909-installer
254    Description:
255    
256    Rewrote large parts of config/install.sh in SML (config/libinstall.sml).
257    Modified config/install.bat to take advantage of it.  Also modified
258    config/install.sh (and called it config/new-install.sh) to take advantage
259    of it on Unix systems.  (The SML code is (supposed to be) platform-
260    independent.)
261    
262    The installer can now install everything under Win32
263    as well as under *nix as long as it compiles.
264    
265    Other changes:
266    
267      - made CML compile again under Win32
268      - made eXene compile under Win32 (by providing a fake structure UnixSock
269        and by using OS.Process.getEnv instead of Posix.ProcEnv.getenv)
270      - fixed a bug in nowhere: it assumed that type OS.Process.status is the
271        same as type int;  under Win32 it isn't
272      - fixed some slice-related problems in the win32-specific parts of CML
273      - added a functor argument "sameVol" to os-path-fn.sml in the Basis
274        (under Win32, the volume name is case-insensitive, and the
275        OS.Path code compares volume names for equality)
276    
277    ----------------------------------------------------------------------
278    Name: Matthias Blume (blume (at) tti - c (dot) org)
279    Date: 2003/09/08 11:55:00 CDT
280    Tag: blume-20030908-fullpath
281    Description:
282    
283    Made Win32 version of OS.FileSys.fullPath return current directory
284    when given an empty string.  This is what the spec says, and incidentally,
285    CM depends on it.  (CM otherwise goes into an infinite loop in certain
286    cases when presented with the name of a non-existing .cm file.)
287    
288    ----------------------------------------------------------------------
289    Name: Matthias Blume (blume (at) tti - c (dot) org)
290    Date: 2003/09/04 16:30:00 CDT
291    Tag: blume-20030905-slices-etc
292    Description:
293    
294      1. Changed interface to vectors and arrays in Basis to match
295         (draft) Basis spec.
296      2. Added signatures and implementations of slices according to
297         Basis spec.
298      3. Edited source code throughout the system to make it compile again
299         under 1. and 2.  (In some cases code had to be added to have it
300         match the new signatures.)
301      4. MLRISC should be backward-compatible: the copies of the originals
302         of files that needed to change under 3. were retained, the .cm files
303         check the compiler version number and use old versions when
304         appropriate.
305      5. Changed type of OS.FileSys.readDir and Posix.FileSys.readdir to
306         dirstream -> string option (in accordance with Basis spec).
307      6. When generating code that counts lines, ml-lex used function
308         CharVector.foldli, taking advantage of its old interface.
309         This has been replaced with the corresponding code from
310         CharVectorSlice.  (html-lex must be re-lexed!)
311      7. BitArray in smlnj-lib/Util has been extended/modified to match the
312         new MONO_ARRAY signature.  (Do we need BitArraySlice?)
313      8. Removed temporary additions (fromInternal, toInternal) from the
314         (now obsolete) IntInf in smlnj-lib/Util.
315      9. Cleaned up structure Byte.
316     10. Added localOffset, scan, and fromString to Date (according to spec).
317         Cleaned/corrected implementation of Date.
318         (Still need to check for correctness; implement better canonicalizeDate.)
319     11. Added "scan" to signature IEEE_REAL.
320     12. Some improvements to IntInf [in particular: efficiency-hack for
321         mod and rem when second operand is 2 (for parity checks).]
322     13. Changed representation of type Time.time, using a single IntInf.int
323         value counting microseconds.  This considerably simplified the
324         implementation of structure Time.  We now support negative time
325         values; scan and fromString handle signs.
326     14. Functor PrimIO now takes two additional arguments (VectorSlice and
327         ArraySlice).
328    
329    ----------------------------------------------------------------------
330    Name: Matthias Blume (blume (at) tti - c (dot) org)
331    Date: 2003/08/28 17:00:00 CDT
332    Tag: blume-20030828-intinf
333    Description:
334    
335    This is a major update which comes with a version number bump
336    (110.42.99 -- yes, we are really close to 110.43 :-), NEW BOOTFILES,
337    and an implementation of IntInf in the Basis.
338    
339    There are a fairly large number of related changes and updates throughout
340    the system:
341    
342    Basis:
343            - Implemented IntInf.
344            - Made LargeInt a projection of IntInf (by filtering through INTEGER).
345            - Added some missing Real64 operations, most notably Real.toLargeInt.
346            - Added FixedInt as a synonym for Int32.
347    
348    compiler:
349            * Added support for a built-in intinf type.
350              - literals
351              - pattern matching
352              - conversion shortcuts (Int32.fromLarge o Int.toLarge etc.)
353              - overloading on literals and operations
354    
355            This required adding a primitive type intinf, some additional
356            primops, and implementations for several non-trivial intinf
357            operations in Core.  (The intinf type is completely abstract
358            to the compiler; all operations get delegated back to the Core.)
359    
360            * Intinf equality is handled by polyequal.  However, the compiler
361            does not print its usual warning in this case (since polyequal
362            is the right thing to do there).
363    
364            * Improved the organization of structure InlineT.
365    
366            * A word about conversion primops:
367            If conversions involving intinf do not cancel out during
368            CPS contract, then the compiler must insert calls to Core functions.
369            Since all core access must be resolved already during the FLINT
370            translate phase, it would be too late a the time of CPS contract
371            to add new Core calls.  For this reason, conversion primops
372            for intinf carry two arguments:  1. the numeric argument that
373            they are supposed to convert, and 2. the Core function that
374            can help with this conversion if necessary.  If CPS contract
375            eliminates a primop, then the associated Core function becomes
376            dead and goes away.  Intinf conversion primops that do not get
377            eliminated by CPS contract get rewritten into calls of their
378            core functions by a separate, new phase.
379    
380    interactive system:
381            - Control.Print.intinfDepth controls max length of intinf constants
382            being printed. (Analogous to Control.Print.stringDepth.)
383            - Cleanup in printutil and pputil: got rid of unused stuff and
384            duplicates; replaced some of the code with code that makes better
385            use of library functionality.
386    
387    CM:
388            Bugfix: parse-errors in init group (system/smlnj/init/init.cmi)
389            are no longer silent.
390    
391    CKIT:
392            Fixed mismatched uses of Int32 and LargeInt.  I always decided
393            in favor of LargeInt -- which is now the same as IntInf.
394            CKIT-knowledgable people should check whether this is what's
395            intended and otherwise change things back to using Int32 or
396            FixedInt.
397    
398    Throughout the code:
399            Started using IntInf.int literals and built-in operations
400            (e.g., comparison with 0) where this seems appropriate.
401    
402    
403    ----------------------------------------------------------------------
404  Name: Dave MacQueen (dbm@cs.uchicago.edu)  Name: Dave MacQueen (dbm@cs.uchicago.edu)
405  Date: 2003/08/13 11:36:00 CDT  Date: 2003/08/13 11:36:00 CDT
406  Tag: dbm-20030813-mcz-merge1  Tag: dbm-20030813-mcz-merge1
# Line 26  Line 414 
414  has been added.  has been added.
415    
416  ----------------------------------------------------------------------  ----------------------------------------------------------------------
417  Name: Matthias Blume (blume@tti-c.org)  Name: Matthias Blume (blume (at) tti - c (dot) org)
418  Date: 2003/08/11 15:45:00 CDT  Date: 2003/08/11 15:45:00 CDT
419  Tag: blume-20030811-windows  Tag: blume-20030811-windows
420  Description:  Description:
# Line 121  Line 509 
509  use by MacQueen, (Lucasz) Zairek, and (George) Cao at uchicago.  use by MacQueen, (Lucasz) Zairek, and (George) Cao at uchicago.
510    
511  ----------------------------------------------------------------------  ----------------------------------------------------------------------
512  Name: Matthias Blume (blume@tti-c.org)  Name: Matthias Blume (blume (at) tti - c (dot) org)
513  Date: 2003/05/27 16:55:00 CDT  Date: 2003/05/27 16:55:00 CDT
514  Tag: blume-20030527-polyeq  Tag: blume-20030527-polyeq
515  Description:  Description:
# Line 129  Line 517 
517  Tried to eliminated most cases of polymorphic equality.  Tried to eliminated most cases of polymorphic equality.
518    
519  ----------------------------------------------------------------------  ----------------------------------------------------------------------
520  Name: Matthias Blume (blume@tti-c.org)  Name: Matthias Blume (blume (at) tti - c (dot) org)
521  Date: 2003/05/21 17:45:00 CDT  Date: 2003/05/21 17:45:00 CDT
522  Tag: blume-20030517-complete  Tag: blume-20030517-complete
523  Description:  Description:
# Line 142  Line 530 
530       without a single non-exhaustive match- or bind warning.       without a single non-exhaustive match- or bind warning.
531    
532  ----------------------------------------------------------------------  ----------------------------------------------------------------------
533  Name: Matthias Blume (blume@tti-c.org)  Name: Matthias Blume (blume (at) tti - c (dot) org)
534  Date: 2003/05/17 10:20:00 CDT  Date: 2003/05/17 10:20:00 CDT
535  Tag: blume-20030517-absyn  Tag: blume-20030517-absyn
536  Description:  Description:

Legend:
Removed from v.1343  
changed lines
  Added in v.1409

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