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

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

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