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

Legend:
Removed from v.1347  
changed lines
  Added in v.1393

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