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

sml/trunk/HISTORY revision 1546, Wed Jul 14 18:38:08 2004 UTC sml/trunk/NOTES/HISTORY revision 2304, Fri Feb 2 21:19:03 2007 UTC
# Line 1  Line 1 
1  This is the HISTORY file for the Yale SML/NJ CVS repository.  This is the HISTORY file for the SML/NJ repository.
2    
3  An entry should be made for _every_ commit to the repository.  An entry should be made for _every_ commit to the repository.
4  The entries in this file will be used when creating the README  The entries in this file will be used when creating the README
# Line 7  Line 7 
7    
8  The form of an entry should be:  The form of an entry should be:
9    
10  Name:  
11    Name: Your Name (web page or e-mail)
12    Date: yyyy/mm/dd hh:mm:ss
13    Tag: cvs-tag-for-this-change
14    Description:
15    
16    ----------------------------------------------------------------------
17    Name: Matthias Blume (http://www.tti-c.org/blume/)
18    Date: 2007/02/02 15:20:00 CST
19    Tag: release-110.62
20    Description:
21    
22    New working release (110.62).  NEW BOOTFILES!
23    
24    ----------------------------------------------------------------------
25    Name: Aaron Turon (http://www.cs.uchicago.edu/~adrassi)
26    Date: 2007/01/31
27    Description:
28    
29    Brought ml-lpt manual up-to-date with the code.  Many minor
30    improvements to the tools, and a few minor bugfixes.  Prepared
31    ml-lpt-lib for integration with new UTF8 structure.  Changed
32    the interface for creating streams in ml-ulex (we now support
33    stream creation from several kinds of sources).  Overall, the
34    tools are now quite stable, and their interfaces are unlikely to
35    change in a way that would break compatibility.  More work,
36    however, is needed in the documentation.
37    
38    ----------------------------------------------------------------------
39    Name: Matthias Blume (http://www.tti-c.org/blume/)
40    Date: 2007/02/01 10:05:00 CST
41    Description:
42    
43    Implemented library installer.  Moved CM plugin code for
44    ml-burg, ml-lex, and ml-yacc out of CM source tree and into
45    their respective trees.  Implemented CM plugin for ml-ulex
46    and ml-antlr.  Used library installer for ml-burg, ml-ulex,
47    and ml-antlr.
48    
49    For ml-yacc and ml-lex we continue to have permanently "plugged-in"
50    CM tools.  (It turns out to be too messy to do otherwise because
51    there is too much code that during installation relies on the presence
52    of these tools -- resulting in a tricky ordering problem.)
53    
54    ----------------------------------------------------------------------
55    Name: Matthias Blume (http://www.tti-c.org/blume/)
56    Date: 2007/01/30 11:05:00 CST
57    Description:
58    
59    Added SMLofNJ.shiftArgs which is like a shell's "shift" command.
60    Modified CM's startup code to use shiftArgs as it processes
61    command line arguments.  This way, the init code in each .sml-file
62    or library that is mentioned at the top level will see only
63    those arguments that have not yet been processed at this point.
64    In other words, the init code can "seize control" and process the
65    remaining command line.
66    
67    ----------------------------------------------------------------------
68    Name: John Reppy (http://www.cs.uchicago.edu/~jhr)
69    Date: 2007/01/28
70    Description:
71    
72    Added the UTF8 structure and signature from the Moby compiler to
73    the SML/NJ library (and the CML library).  These modules will replace
74    the version in the ml-lpt-lib.
75    
76    ----------------------------------------------------------------------
77    Name: Matthias Blume (http://www.tti-c.org/blume/)
78    Date: 2007/01/26 15:10:00 CST
79    Description:
80    
81    Added entries to handle ml-lpt-lib.cm in installer.
82    
83    ----------------------------------------------------------------------
84    Name: Matthias Blume (http://www.tti-c.org/blume/)
85    Date: 2006/12/15 11:10:00 CST
86    Tag: release-110.61
87    Description:
88    
89    New working release (110.61).  NEW BOOTFILES!
90    
91    This supersedes the pre-brown-paper-bug release (see below).
92    
93    ----------------------------------------------------------------------
94    Name: Matthias Blume (http://www.tti-c.org/blume/)
95    Date: 2006/12/15 11:00:00 CST
96    Description:
97    
98    Fixed brown-paper-bag bug with CM's pathname handling, which made
99    installation fail under Win32.
100    
101    ----------------------------------------------------------------------
102    Name: Matthias Blume (http://www.tti-c.org/blume/)
103    Date: 2006/12/14 12:00:00 CST
104    Description:
105    
106    Obsolete!
107    
108    [New working release (110.61).  NEW BOOTFILES!]
109    
110    ----------------------------------------------------------------------
111    Name: John Reppy (http://cs.uchicago.edu/~jhr)
112    Date: 2006/14/06 09:50:00 CST
113    Description:
114    
115    Fixed the code in runtime/c-libs/posix-tty/{tcgetattr,tcsetattr}.c to
116    get the c_cc termios data copied correctly.  Also moved the allocation
117    of the string to avoid problems if it caused a GC.
118    
119    Thanks to Timothy Bourke for the bug report and fix.
120    
121    ----------------------------------------------------------------------
122    Name: Matthias Blume (http://www.tti-c.org/blume)
123    Date: 2006/12/08 09:50:00 CST
124    Description:
125    
126    Added code to CM's "standard shell tool" implementation which
127    causes it to tolerate (with a warning) the situation where the shell
128    command fails (e.g., due to the shell command's non-existence)
129    as long as all target files exist.
130    
131    This makes it possible to, e.g., build ml-yacc from sources even if
132    svn checkout messed up the time stamps on files in such a way that
133    yacc.grm is younger than yacc.grm.sml or yacc.grm.sig.  (Ml-yacc would
134    be needed to re-process yacc.grm, but obviously it might not yet be
135    available at that time.)
136    
137    ----------------------------------------------------------------------
138    Name: John Reppy (http://cs.uchicago.edu/~jhr)
139    Date: 2006/12/06 12:06:00 CST
140    Description:
141    
142    Fixed the types of recvVecFrom, recvVecFrom', recvVecFromNB, and
143    recvVecFromNB' in the SOCKET signature.  This error is actually
144    in the SML Basis specification too.
145    
146    ----------------------------------------------------------------------
147    Name: Matthias Blume (http://www.tti-c.org/blume/)
148    Date: 2006/12/05 22:40:00 CST
149    Description:
150    
151    CM now reports undefined anchors as errors and aborts execution
152    rather than silently pressing on using bogus values.
153    
154    ----------------------------------------------------------------------
155    Name: Matthias Blume (http://www.tti-c.org/blume/)
156    Date: 2006/11/29 10:00:00 CST
157    Description:
158    
159    Use Say.vsay for printing the "[autoloading]" message, so
160    #set CM.Control.verbose false (or -Ccm.verbose=false) can be used
161    to suppress them.
162    
163    ----------------------------------------------------------------------
164    Name: Matthias Blume (http://www.tti-c.org/blume/)
165    Date: 2006/11/10 11:00:00 CST
166    Description:
167    
168    Fixed bug in CM where "with:" specifications that affect compilation
169    (as opposed to parsing) were ignored.
170    
171    ----------------------------------------------------------------------
172    Name: Matthias Blume (http://www.tti-c.org/blume/)
173    Date: 2006/11/09 14:30:00 CST
174    Tag: release-110.60
175    Description:
176    
177    New working release (110.60).  NEW BOOTFILES!
178    
179    This is the first subversion-hosted release.  There are also changes
180    to the directory layout.  Here is a table:
181    
182    (All pathnames are relative to the SML/NJ "root" directory.)
183    
184      config -> config
185    
186      src/cm -> base/cm
187      src/compiler -> base/compiler
188      src/runtime -> base/runtime
189      src/system -> base/system
190    
191      src/cm/pgraph -> pgraph
192    
193      src/READMES -> base/READMES
194      src/$notefile -> base/NOTES/$notefile
195         for <notefile> in BOOT CVSNOTES CYGWININSTALL HISTORY INSTALL
196                           MACOSXINSTALL WININSTALL
197    
198      src/smlnj-lib -> smlnj-lib
199      src/MLRISC -> MLRISC
200      ckit -> ckit
201      src/cml -> cml
202      src/eXene -> eXene
203      src/heap2asm -> heap2asm
204      src/lexgen -> lexgen
205      src/ml-burg -> ml-burg
206      src/ml-lex -> ml-lex
207      src/ml-yacc -> ml-yacc
208      src/ml-nlffi-lib -> nlffi/lib
209      src/ml-nlffigen -> nlffi/gen
210      src/smlnj-c -> smlnj-c
211      src/tools/TraceDebugProf -> trace-debug-profile
212    
213    In addition, there is also a new
214    
215      ml-lpt
216    
217    directory containing two new program generator tools: ml-ulex and
218    ml-antlr (a lexer generator that handles unicode and an ANTRL-inspired
219    LL(k) parser generator). These tools are currently "beta-quality"
220    
221    The latest versios of the sources can now be obtained anonymously
222    via subversion.  For this, it is useful to first check out
223    
224       svn://smlnj-gforge.cs.uchicago.edu/smlnj/admin
225    
226    and put the resulting directory on your shell's PATH.  This provides
227    access to three shell scripts: checkout-all.sh, stat-all.sh,
228    and refresh-all.sh.
229    
230    To create a freshly checked-out copy of the sources, do
231    
232       checkout-all.sh [dir]
233    
234    where dir is the optional SML/NJ root directory (default is ".").
235    
236    This creates the above directory layout.  Each subdirectory of
237    the root is under individual subversion control.  The stat-all.sh
238    and refresh-al.sh scripts apply "svn stat" or "svn update" to
239    each of these subtrees.
240    
241    ----------------------------------------------------------------------
242    Name: Matthias Blume (http://www.tti-c.org/blume/)
243    Date: 2006/11/02 12:20:00 CST
244    Description:
245    
246    Reorganized directory layout.
247    
248    This is a temporary solution, more reorganization is to come.
249    
250    The basic idea is to have a number of toplevel trees, each corresponding
251    to a well-defined part of the overall system.  Each part can be
252    maintained individually, even in separate source repositories,
253    although currently we still serve everything out of the main
254    smlnj-gforge tree.
255    
256    Installer and and scripts have been updated to reflect the new
257    layout.  The installer (base/src/system/smlnj/installer) is now
258    "scriptable" to avoid burning too much knowledge about the
259    layout into SML source code.  The main script used by the installer
260    is in config/actions.
261    
262    The main change is that many of the subdirectories of what used to
263    be known as "src" have moved to the toplevel.  The "src" directory
264    itself has moved down into a subtree called "base".  (We may eventually
265    get rid of the extra level of indirection represented by "src".)
266    
267    The layout is now as follows:
268    
269      toplevel tree name | default repository
270                         | (using gf=svn://smlnj-gforge.cs.uchicago.edu/smlnj)
271      -------------------+----------------------------------------------------
272      config             | $gf/config/trunk
273                         |
274      base               | $gf/sml/trunk
275                         |
276      smlnj-lib          | $gf/smlnj-lib/trunk
277      MLRISC             | $gf/MLRISC/trunk
278                         |
279      ml-yacc            | $gf/ml-yacc/trunk
280      ml-lex             | $gf/ml-lex/trunk
281      ml-burg            | $gf/ml-burg/trunk
282      lexgen             | $gf/lexgen/trunk
283      heap2asm           | $gf/heap2asm/trunk
284                         |
285      cml                | $gf/cml/trunk
286      eXene              | $gf/eXene/trunk
287      ckit               | $gf/ckit/trunk
288      nlffi              | $gf/nlffi/trunk
289                         |
290      smlnj-c            | $gf/smlnj-c/trunk
291    
292    In $gf/admin there are a few useful shell scripts for checking out
293    and maintaining the entire collection of trees:
294    
295       admin/checkout-all.sh [dir]
296          -- optionally creates dir and checks out all trees from their
297             default repositories; if dir is missing, checkout into .
298       admin/refresh-all.sh [dir]
299          -- looks at all trees (from the above list) in dir (default: .)
300             and runs "svn update" if the tree exists and is under
301             subversion control;
302             non-existing or non-subversion trees are skipped
303       admin/stat-all.sh [dir]
304          -- like refresh-all.sh, but runs "svn stat" instead
305    
306    ----------------------------------------------------------------------
307    Name: Matthias Blume (http://www.tti-c.org/blume/)
308    Date: 2006/10/05 11:30:00 CDT
309    Tag: blume-20061005-merge-amd64
310    Description:
311    
312    Merged code for AMD64 backend (Mike Rainey's work).
313    Everything is hooked up but untested.
314    
315    ----------------------------------------------------------------------
316    Name: Matthias Blume (http://www.tti-c.org/blume/)
317    Date: 2006/05/17 14:00:00 CST
318    Tag: Release_110_59
319    Description:
320    
321    New working version (110.59).  NEW BOOTFILES!
322    
323    I am freezing 110.59.  Changes other than the version-number increase:
324    
325      eXene:
326    
327         * committed changes to eXene from Alley Stoughton:
328             "fixed bugs in X authorization and resource handling, as well
329              as in the pile and viewport widgets"
330    
331      Runtime:
332        * fixed linking problem with NetBSD 3.x.
333    
334      Lexgen:
335        * lexgen tool handles non-ascii characters in 7-bit mode the same
336          way that ml-lex does
337    
338        * lexgen propagates exceptions the same way that ml-lex does
339    
340      CML:
341        * Fixed a bug in the SyncVar polling functions (iGetPoll,
342          mTakePoll, and mGetPoll) that could lead to livelock.
343    
344    ----------------------------------------------------------------------
345    Name: Matthias Blume (http://www.tti-c.org/blume/)
346    Date: 2006/05/12 15:20:00 CST
347    Tag: blume-20060515-makedepend
348    Description:
349    
350    Implemented ml-makedepend (i.e., CM.sources) in a better (more robust)
351    way.  This should hopefully fix the ml-makedepend problem permanently.
352    
353    ----------------------------------------------------------------------
354    Name: Matthias Blume (http://www.tti-c.org/blume/)
355    Date: 2006/05/12 15:15:00 CST
356    Tag: blume-20060512-makedepend
357    Description:
358    
359    Fixed long-standing bug with ml-makedepend where it would output a
360    spurious dependency to a non-existing file.  (This is a simple fix.
361    It might need further looking into.)
362    
363    ----------------------------------------------------------------------
364    Name: Matthias Blume (http://www.tti-c.org/blume/)
365    Date: 2006/04/20 10:30:00 CDT
366    Tag: blume-20060420-heap2exec
367    Description:
368    
369    Committed patches received from Johannes 5 Joemann (joemann@befree.free.de)
370    that enable heap2exec under Linux and FreeBSD.
371    
372    ----------------------------------------------------------------------
373    Name: John Reppy
374    Date: 2006/04/14
375    Tag:
376    Description:
377    
378    MLRISC changes:
379      1) renamed GAS_PSEUDO_OPS to AS_PSEUDO_OPS and put it in its own file.
380      2) added support for NOTB and XORB operators in pseudo-op expressions
381      3) added DarwinPseudoOp functor that supports Darwin's assembler syntax.
382      4) added support for 64-bit integer literals
383    
384    ----------------------------------------------------------------------
385    Name: Matthias Blume (http://www.tti-c.org/blume/)
386  Date: yyyy/mm/dd  Date: yyyy/mm/dd
387  Tag: <post-commit CVS tag>  Tag: Release_110_58
388    Description:
389    
390    New working version (110.58).  NEW BOOTFILES!
391    
392    ----------------------------------------------------------------------
393    Name: Matthias Blume (http://www.tti-c.org/blume/)
394    Date: 2006/03/01 22:15:00 CST
395    Tag: blume-20060301-lexgen
396    Description:
397    
398    Incorporated several bugfixes to lexgen.  Compiler now compiles to
399    fixpoint when using lexgen instead of ml-lex.
400    
401    ----------------------------------------------------------------------
402    Name: Matthias Blume (http://www.tti-c.org/blume/)
403    Date: 2006/02/28 22:45:00 CST
404    Tag: blume-20060228-lexgen
405    Description:
406    
407    Removed ml-flex and added lexgen instead, using Aaron Turon's newly
408    provided tarball.  The generated lexers still have problems.
409    
410    ----------------------------------------------------------------------
411    Name: Matthias Blume (http://www.tti-c.org/blume/)
412    Date: 2006/02/26 23:30:00 CST
413    Tag: blume-20060226-ml-flex
414    Description:
415    
416    Removed ml-flex' dependency on regexp-lib.cm.  Turned installation
417    of ml-flex on by default.
418    
419    ----------------------------------------------------------------------
420    Name: Matthias Blume (http://www.tti-c.org/blume/)
421    Date: 2006/02/24 16:30:00 CST
422    Tag: blume-20060224-ml-flex
423    Description:
424    
425    Added ml-flex sources.  Partially integrated, but should not be
426    turned on yet!  (Read: leave it commented-out in config/targets!)
427    
428    ----------------------------------------------------------------------
429    Name: John Reppy (http://www.cs.uchicago.edu/~jhr)
430    Date: 2006/02/23
431    Tag: jhr-20060223-x86-64
432    Description:
433    Changes to support building on x86-64 systems (using the 32-bit mode).
434    Also cleaned up signal handling on Linux.  Support for pre-2.2 Linux
435    kernels dropped.
436    
437    ----------------------------------------------------------------------
438    Name: Allen Leung (leunga (at) reservoir (dot) com)
439    Date: 2006/02/22 15:07:00 EST
440    Tag: leunga-20060222-mdl-gen
441    Description:
442    
443      CM has changed.  Updated the script for rebuilding the MLRISC generated
444    files.
445    
446    ----------------------------------------------------------------------
447    Name: Matthias Blume (http://www.tti-c.org/blume/)
448    Date: 2006/02/14 17:30:00 CST
449    Tag: blume-20060214-intel-mac
450    Description:
451    
452    Hooked code for Darwin-specific Intel ABI into main compiler.
453    (This is a temporary solution which relies on the fact that the
454    compiler itself does not use NLFFI.  Eventually we need to divorce
455    intel mac from generic x86 unix code and make separate sets of binaries.)
456    
457    ----------------------------------------------------------------------
458    Name: John Reppy (http://www.cs.uchicago.edu/~jhr)
459    Date: 2006/02/13
460    Tag: jhr-20060213-intel-mac
461    Description:
462    Changed MLRISC x86 CCalls for partial support of MacOS X ABI.
463    
464    ----------------------------------------------------------------------
465    Name: John Reppy (http://www.cs.uchicago.edu/~jhr)
466    Date: 2006/02/06
467    Tag: jhr-20060206-intel-mac
468    Description:
469    Changes to support MacOS X on Intel hardware.  The C-calls support in
470    MLRISC must also be updated to support the MacOS X ABI.
471    
472    ----------------------------------------------------------------------
473    Name: Matthias Blume (http://www.tti-c.org/blume/)
474    Date: 2005/12/16 00:15:00 CST
475    Tag: blume-20051216-cm
476    Description:
477    
478    Improved error reporting and handling in CM.
479    
480    ----------------------------------------------------------------------
481    Name: Matthias Blume (http://www.tti-c.org/blume/)
482    Date: 2005/11/21 14:00:00 CST
483    Tag: blume-20051121-html-lib
484    Description:
485    
486    Enabling $/html-lib.cm in config/preloads did not work.  This is fixed
487    now.  (Since the anchor mapping for html-lib.cm is not yet in effect
488    at the time when config/preloads is processed, the library has to
489    be referred to by another name.  In 110.57 this would be
490    $SMLNJ-LIB/HTML/html-lib.cm.  I arranged for $smlnj/smlnj-lib/html-lib.cm
491    to be valid as well.)
492    
493    Thanks to Todd Wilson (Fresno) for alerting me to this issue.
494    
495    ----------------------------------------------------------------------
496    Name: Matthias Blume (http://www.tti-c.org/blume/)
497    Date: 2005/11/19 13:45:00 CST
498    Tag: Release_110_57
499    Description:
500    
501    Moved release tag for 110.57.
502    
503    ----------------------------------------------------------------------
504    Name: Matthias Blume (http://www.tti-c.org/blume/)
505    Date: 2005/11/19 23:35:00 CST
506    Tag: blume-20051119-fish
507    Description:
508    
509    Fixed a problem in config/install.sh where it tries to "fish" the
510    name of the CM metadata directory from the wrong place (because
511    the physical location of basis.cm has changed).  Also, corrected the
512    path anchor for $/html-lib.cm.  (Thanks to M. Fluet for pointing out
513    these problems.)
514    
515    ----------------------------------------------------------------------
516    Name: Matthias Blume (http://www.tti-c.org/blume/)
517    Date: 2005/11/16 14:30:00 CST
518    Tag: blume-orig-110_57
519    Description:
520    
521    New working version (110.57).  NEW BOOTFILES!
522    
523    UPDATE: The release tag has been moved to include a fix for a brown-paper-
524            bag glitch (see above).
525    
526    ----------------------------------------------------------------------
527    Name: Matthias Blume (http://www.tti-c.org/blume/)
528    Date: 2005/11/16 10:25:00 CST
529    Tag: blume-22051116-btrace
530    Description:
531    
532    Fixed problem with bogus exception message when using back-trace
533    facility.
534    
535    ----------------------------------------------------------------------
536    Name: Matthias Blume (http://www.tti-c.org/blume/)
537    Date: 2005/11/15 22:35:00 CST
538    Tag: blume-22051115-array2copy
539    Description:
540    
541    Added simple implementation of Array2.copy.  (Warning: mostly untested.)
542    
543    ----------------------------------------------------------------------
544    Name: Matthias Blume (http://www.tti-c.org/blume/)
545    Date: 2005/11/15 21:35:00 CST
546    Tag: blume-22051115-versiontool
547    Description:
548    
549    Reversed change to src/system/smlnj/internals/versiontool.cm.  This
550    file gets loaded as a tool -- by the equivalent of CM.make during the
551    run of CMB.make.  Thus, CMB's path configuration is meaningless for
552    it.  Instead, it has the status of "user code", so it should use
553    $/basis.cm to refer to the Basis library.  (At least that's true for
554    the purpose of bootstrapping the previous change.  In the future it
555    might make sense to have versiontool.cm refer to
556    $smlnj/basis/basis.cm, i.e., the version of the Basis that the
557    compiler itself uses.)
558    
559    Also patched src/system/testml to have it activate those extra anchor
560    bindings in config/extrapathconfig.
561    
562    ----------------------------------------------------------------------
563    Name: Matthias Blume (http://www.tti-c.org/blume/)
564    Date: 2005/11/15 16:35:00 CST
565    Tag: blume-22051115-libraries
566    Description:
567    
568    This change affects the way the following libraries are tied into
569    the system:
570    
571       $/basis.cm
572       $/smlnj-lib.cm
573       $/pp-lib.cm
574       $/controls-lib.cm
575       $/html-lib.cm
576       $/ml-yacc-lib.cm
577    
578    These libraries are now internally (as seen from the source code
579    of the implementation itself) known by the following names:
580    
581       $smlnj/basis/basis.cm
582       $smlnj/smlnj-lib/smlnj-lib.cm
583       $smlnj/smlnj-lib/pp-lib.cm
584       $smlnj/smlnj-lib/controls-lib.cm
585       $smlnj/smlnj-lib/html-lib.cm
586       $smlnj/ml-yacc/ml-yacc-lib.cm
587    
588    This makes it possible to work with code that requires different
589    versions of these libraries, and which refers to these libraries using
590    their "default" names (i.e., the first set of names above).  In other
591    words, one can un-define or re-define those default names without
592    compromising the proper functioning of the compiler itself.
593    
594    A similar procedure had already been performed for several of the
595    MLRISC libraries that are linked into the compiler.  I did some
596    cleanup on this code.
597    
598    A new file in the config directory (named extrapathconfig) is
599    responsible for setting up path anchors that the compiler itself does
600    not need, but that are typically required by user code.
601    
602    ----------------------------------------------------------------------
603    Name: Matthias Blume
604    Date: 2005/11/07 17:05:00 CST
605    Tag: blume-20051107-slice
606    Description:
607    
608    Fixed erroneous out-of-bounds test in the "update" function of
609    various *ArraySlice modules.  (Thanks to Vesa A. Norrman for pointing
610    out the problem.)
611    
612    Pushed some Basis changes through ML-Lex, CML, and eXene.
613    
614    ----------------------------------------------------------------------
615    Name: John Reppy (http://www.cs.uchicago.edu/~jhr)
616    Date: 2005/11/07
617  Description:  Description:
618    Fixed a Basis incompatibility: The depreciated function Substring.all
619    was removed (use Substring.full instead).
620    
621    ----------------------------------------------------------------------
622    Name: John Reppy (http://www.cs.uchicago.edu/~jhr)
623    Date: 2005/11/05
624    Description:
625    Tweaked interval set API in SML/NJ library; see the CHANGES file for details.
626    
627    ----------------------------------------------------------------------
628    Name: Matthias Blume (http://www.tti-c.org/blume/)
629    Date: 2005/11/02 16:25:00 CST
630    Tag: blume-20051102-hex
631    Description:
632    
633    * Runtime system bootstrap code now accepts hex digits in BOOTLIST
634      in either upper case or lower case format.
635    * Pushed changes to names of Pack<N>{Big,Little} structures through
636      CML and eXene.
637    
638    ----------------------------------------------------------------------
639    Name: John Reppy (http://www.cs.uchicago.edu/~jhr)
640    Date: 2005/11/02
641    Description:
642    Fixed a Basis incompatibility: Pack<N>{Big,Little} structures should
643    be called PackWord<N>{Big,Little}.
644    
645    ----------------------------------------------------------------------
646    Name: John Reppy (http://www.cs.uchicago.edu/~jhr)
647    Date: 2005/10/28
648    Description:
649    Fixed a minor Basis incompatibility: hex digits should be upper case.
650    
651    ----------------------------------------------------------------------
652    Name: Matthias Blume (blume (at) tti - c (dot) org)
653    Date: 2005/10/25 16:00:00 CDT
654    Tag: Release_110_56
655    Description:
656    
657    New working version (110.56).  NEW BOOTFILES!
658    
659    ----------------------------------------------------------------------
660    Name: John Reppy (http://www.cs.uchicago.edu/~jhr)
661    Date: 2005/10/25
662    Description:
663    Added interval sets to utility library (signatures INTERVAL_DOMAIN
664    and INTERVAL_SET, and functor IntervalSetFn).
665    
666    ----------------------------------------------------------------------
667    Name: John Reppy (http://www.cs.uchicago.edu/~jhr)
668    Date: 2005/10/14
669    Description:
670    Add Zhong Shao's fix for datatype equality functions.
671    
672    ----------------------------------------------------------------------
673    Name: Allen Leung (leunga (at) reservoir (dot) com)
674    Date: 2005/10/14 12:30:00 EST
675    Tag: leunga-20051014-x86-spill
676    Description:
677    
678    Bug fix a bug found by Carl Hauser.
679    There was a typo in the reload code for FCMP in x86SpillInstr.sml.
680    
681    ----------------------------------------------------------------------
682    Name: Allen Leung (leunga (at) reservoir (dot) com)
683    Date: 2005/10/14 11:15:00 EST
684    Tag: leunga-20051014-x86-asm
685    Description:
686    
687    Removed some debugging code in file x86Asm.sml.
688    The function emit_operand was printing out debugging output.
689    
690    ----------------------------------------------------------------------
691    Name: John Reppy
692    Date: 2005/07/27
693    Tag:
694    Description:
695    
696    Fixed ml-lex to recognize "\r" as representing carriage return.
697    
698    ----------------------------------------------------------------------
699    Name: John Reppy
700    Date: 2005/07/27
701    Tag:
702    Description:
703    
704    Fixed ml-yacc to work on files with non-native end-of-line
705    encodings (e.g., Windows text file on a Unix system).
706    
707    ----------------------------------------------------------------------
708    Name: John Reppy
709    Date: 2005/07/20
710    Tag:
711    Description:
712    
713    Added changes from Dominic Evans (oldmanuk (at) gmail (dot) com)
714    to support HPUX 11.
715    
716    ----------------------------------------------------------------------
717    Name: John Reppy
718    Date: 2005/07/06
719    Tag:
720    Description:
721    
722    Changes to the SML/NJ library.  See smlnj-lib/CHANGES for details.
723    
724    ----------------------------------------------------------------------
725    Name: Matthias Blume (blume (at) tti - c (dot) org)
726    Date: 2005/07/06 00:45:00 CDT
727    Tag: blume-20050706-slice-copy
728    Description:
729    
730    Fixed reversed logic for deciding whether to "copy up" or "copy down"
731    in *-array-slice.sml.
732    
733    ----------------------------------------------------------------------
734    Name: Allen Leung (leunga (at) reservoir (dot) com)
735    Date: 2005/05/31 17:00:00 EST
736    Tag: leunga-20050531-cygwin-fault-2
737    Description:
738    
739    A typo in the cygwin code fixed.
740    
741    ----------------------------------------------------------------------
742    Name: Allen Leung (leunga (at) reservoir (dot) com)
743    Date: 2005/05/31 16:47:00 EST
744    Tag: leunga-20050531-cygwin-fault
745    Description:
746    
747    Updated Cygwin's fault/signal handling to match the Windows version.
748    Updated the export list.
749    
750    ----------------------------------------------------------------------
751    Name: Matthias Blume (blume (at) tti - c (dot) org)
752    Date: 2005/05/18 13:35:00 CDT
753    Tag: Release_110_54
754    Description:
755    
756    New working version (110.54).  NEW BOOTFILES!
757    
758    ----------------------------------------------------------------------
759    Name: Matthias Blume (blume (at) tti - c (dot) org)
760    Date: 2005/05/18 11:58:00 CDT
761    Tag: blume-20050518-installer
762    Description:
763    
764    Added support scripts for Mac OS X PackageMaker and modified
765    config/install.sh so that it supports re-dumping a heap image
766    after customization.
767    
768    ----------------------------------------------------------------------
769    Name: Matthias Blume (blume (at) tti - c (dot) org)
770    Date: 2005/05/18 10:55:00 CDT
771    Tag: blume-20050518-realdiv-noovld
772    Description:
773    
774    Un-overloaded / to work around bug in overloading resolution code.
775    
776    ----------------------------------------------------------------------
777    Name: Matthias Blume (blume (at) tti - c (dot) org)
778    Date: 2005/05/16 23:50:00 CDT
779    Tag: blume-20050516-redump-heap
780    Description:
781    
782    Added mechanism for re-creating a heap file for the interactive system
783    after configuration variables have been changed.
784    
785       CM.redump_heap : string -> unit
786    
787    This is much like SMLofNJ.exportML, but starting from the resulting
788    heap does not return to the caller of CM.redump_heap but
789    restarts the interactive system from scratch.  The original call of
790    CM.redump_heap does not return but ends the interactive session.
791    Thus, CM.redump_heap is a lot like SMLofNJ.exportFn.
792    
793    Internally, redump_heap winds the dynamic execution context back to
794    the point where the original heap image was created and re-executes
795    the heap image generation code in the boot code.
796    
797    ----------------------------------------------------------------------
798    Name: Matthias Blume (blume (at) tti - c (dot) org)
799    Date: 2005/05/09 21:55:00 CDT
800    Tag: blume-20050509-word64
801    Description:
802    
803    Added a hack to the existing hack known as Word64 to make fromString
804    behave correctly.  I am still not sure whether Word64.scan will work
805    as specified with respect to the interaction of radix and prefix.
806    
807    ----------------------------------------------------------------------
808    Name: Allen Leung (leunga (at) reservoir (dot) com)
809    Date: 2005/05/04 11:50:00 EST
810    Tag: leunga-20050504-checkgc
811    Description:
812    
813    Added a gc protocol checking phase.  This phase is enabled with
814    the flag "check-gc".  "debug-check-gc" turns on the verbose mode.
815    
816    ----------------------------------------------------------------------
817    Name: Matthias Blume (blume (at) tti - c (dot) org)
818    Date: 2005/05/04 10:45:00 CDT
819    Tag: blume-20050504-intinf
820    Description:
821    
822    Fixed a bug in the implementation of div and mod for IntInf.
823    Thanks to Neophytos Michael for reporting the problem.
824    
825    ----------------------------------------------------------------------
826    Name: Matthias Blume (blume (at) tti - c (dot) org)
827    Date: 2005/05/04 10:35:00 CDT
828    Tag: blume-20050504-join
829    Description:
830    
831    Added a "join" combinator to the ParserComb module in smlnj-lib.cm.
832    
833    ----------------------------------------------------------------------
834    Name: Matthias Blume (blume (at) tti - c (dot) org)
835    Date: 2005/02/28 23:40:00 CST
836    Tag: blume-20050228-mVar
837    Description:
838    
839    Fixed serious bug (brown paper bag variety) in new implementation of
840    structure Atom in CML.  (I had accidentally used a mailbox instead of
841    an mvar, leaving the door open for races.)
842    
843    ----------------------------------------------------------------------
844    Name: Matthias Blume (blume (at) tti - c (dot) org)
845    Date: 2005/02/25 15:00:00 CST
846    Tag: Release_110_53
847    Description:
848    
849    New working version (110.53).  NEW BOOTFILES!
850    
851    ----------------------------------------------------------------------
852    Name: Matthias Blume (blume (at) tti - c (dot) org)
853    Date: 2005/02/25 14:50:00 CST
854    Tag: blume-20050225-susp
855    Description:
856    
857    Brought back SMLofNJ.Susp.  The underlying suspension type is the one
858    implemented in Core -- which means that it is the same as the one used
859    by the lazy extension.
860    
861    ----------------------------------------------------------------------
862    Name: Matthias Blume (blume (at) tti - c (dot) org)
863    Date: 2005/02/24 16:50:00 CST
864    Tag: blume-20050224-cml-atom
865    Description:
866    
867    Simpler and at the same time more general implementation of structure
868    Atom in CML.
869    
870    ----------------------------------------------------------------------
871    Name: Matthias Blume (blume (at) tti - c (dot) org)
872    Date: 2005/02/15 17:35:00 CST
873    Tag: blume-20050215-tools
874    Description:
875    
876    Created new "tools" directory under "src" and moved "TraceDebugProf"
877    there.
878    
879    ----------------------------------------------------------------------
880    Name: Matthias Blume (blume (at) tti - c (dot) org)
881    Date: 2005/02/10 17:55:00 CST
882    Tag: blume-20050210-longlong
883    Description:
884    
885    Implemented "long long" arguments and results for NLFFI.  (Only the
886    PPC/MacOS implementation is complete, the other backends still need to
887    be updated.)
888    
889    ----------------------------------------------------------------------
890    Name: Matthias Blume (blume (at) tti - c (dot) org)
891    Date: 2005/01/24 17:40:00 CST
892    Tag: blume-20050124-mlyacc
893    Description:
894    
895    Minor cleanup in ML-Yacc rule printing mechanism.  This should fix a
896    problem with certain "as" patterns which previously got rendered
897    using incorrect syntax.
898    
899    ----------------------------------------------------------------------
900    Name: Matthias Blume (blume (at) tti - c (dot) org)
901    Date: 2005/01/18 12:00:00 CST
902    Tag: blume-20050118-profile
903    Description:
904    
905    Made time profiling code (interrupt handler) in runtime system aware
906    of new array representation.
907    
908    ----------------------------------------------------------------------
909    Name: Matthias Blume (blume (at) tti - c (dot) org)
910    Date: 2005/01/14 18:00:00 CST
911    Tag: blume-20050114-heap2exec
912    Description:
913    
914    Implemented new (but still experimental) heap2exec facility.  This is
915    tested under Mac OS X and should work under Linux (will test shortly).
916    It will probably also work on the Sparc (will test some time later).
917    
918      - removed old "HACKED_STANDALONE" hack from runtime
919    
920    To be able to test this, uncomment the request for "heap2asm" in
921    config/targets prior to installation.  (Notice that this is different
922    from "heap2exec" mentioned below.  Not a typo.)
923    
924    To perform an actual test, run the command
925    
926       $ bin/heap2exec heapfile execfile
927    
928    (You can put heap2exec on your shell's path.)
929    
930    For example, run
931    
932      $ bin/heap2exec bin/.heap/ml-yacc.ppc-darwin mly
933    
934    This will create a standalone executable called "mly" which you can
935    then invoke directly as a command.
936    
937    ----------------------------------------------------------------------
938    Name: Matthias Blume (blume (at) tti - c (dot) org)
939    Date: 2005/01/07 11:44:00 CST
940    Tag: blume-20050107-mlstring
941    Description:
942    
943    fixed off-by-one error in ML_STRING macro (globals.c)
944    
945    ----------------------------------------------------------------------
946    Name: Matthias Blume (blume (at) tti - c (dot) org)
947    Date: 2004/12/23 18:00:00 CST
948    Tag: blume-20041223-santa
949    Description:
950    
951    Made ml-build script "smarter" (but only very little).
952    
953    ----------------------------------------------------------------------
954    Name: Matthias Blume (blume (at) tti - c (dot) org)
955    Date: 2004/12/21 15:05:00 CST
956    Tag: blume-20041221-longlong
957    Description:
958    
959    * Implemented access to signed and unsigned long long data in NLFFI.
960    (The parameter-passing part of the picture has not complete. But
961    data structure access seems to work.)
962    
963    * Fixed CM's incorrect assumption that the PPC is little-endian.
964      (On the Mac, it is big-endian.  And that's currently our only
965      PPC platform.)
966    
967    ----------------------------------------------------------------------
968    Name: Matthias Blume (blume (at) tti - c (dot) org)
969    Date: 2004/12/21 12:50:00 CST
970    Tag: blume-20041221-memory
971    Description:
972    
973    Some cleanup in the $c/memory.cm library: separated some concerns by
974    moving allocation code and memory access code each into their own
975    files.
976    
977    ----------------------------------------------------------------------
978    Name: Allen Leung (leunga (at) reservoir (dot) com)
979    Date: 2004/12/17 16:12:00 EST
980    Tag: leunga-20041217-cygwin-smlnj-home
981    Description:
982    
983        The Unix I/O library of SML/NJ on cygwin does not understand
984    Windows style pathname, so problems arise when SMLNJ_HOME is set
985    to a Windows style pathname.  _run-sml now converts SMLNJ_HOME
986    to a POSIX pathname on cygwin.
987    
988    ----------------------------------------------------------------------
989    Name: Matthias Blume (blume (at) tti - c (dot) org)
990    Date: 2004/12/16 13:35:00 CST
991    Tag: Release_110_52
992    Description:
993    
994    Last-minute changes incorporated into 110.52.  Release tag moved.
995    
996    The changes:
997       - HashString.hashString' -> HashString.hashSubstring
998       - bug fix in UnivariateStats
999    
1000    ----------------------------------------------------------------------
1001    Name: Matthias Blume (blume (at) tti - c (dot) org)
1002    Date: 2004/12/15 23:40:00 CST
1003    Tag: blume-20041215-hashSubstring
1004    Description:
1005    
1006    - HashString.hashString' -> HashString.hashSubstring
1007    - corresponding changes in atom.sml
1008    - "de-compressed" (aka. un-obfuscated) code for UnivariateStats and
1009      added some comments
1010    
1011    ----------------------------------------------------------------------
1012    Name: Matthias Blume (blume (at) tti - c (dot) org)
1013    Date: 2004/12/15 15:30:00 CST
1014    Tag: (Release_110_52)
1015    Description:
1016    
1017    New working version (110.52).  NEW BOOTFILES!
1018    
1019    ----------------------------------------------------------------------
1020    Name: Matthias Blume (blume (at) tti - c (dot) org)
1021    Date: 2004/12/15 12:45:00 CST
1022    Tag: blume-20041215-spaces
1023    Description:
1024    
1025    More on the space problem (this time for Win32).
1026    
1027    ----------------------------------------------------------------------
1028    Name: Matthias Blume (blume (at) tti - c (dot) org)
1029    Date: 2004/12/14 17:30:00 CST
1030    Tag: blume-20041214-spaces
1031    Description:
1032    
1033    Hacked some of the scripts (in particular: the installer) to cope with
1034    spaces in filenames a bit better.  But beware: the current "solution"
1035    is likely still full of bugs and inherently incomplete.  (We need to
1036    do away with those shell scripts for a comprehensive solution.)
1037    
1038    ----------------------------------------------------------------------
1039    Name: Matthias Blume (blume (at) tti - c (dot) org)
1040    Date: 2004/12/13 14:45:00 CST
1041    Tag: blume-20041213-ml-makedepend
1042    Description:
1043    
1044    Fixed bug in code for ml-makedepend.
1045    
1046    ----------------------------------------------------------------------
1047    Name: Matthias Blume (blume (at) tti - c (dot) org)
1048    Date: 2004/12/09 16:30:00 CST
1049    Tag: blume-20041209-statistics
1050    Description:
1051    
1052    Added two simple but potentially useful statistics modules to SML/NJ Library.
1053    (See CHANGES file there.)
1054    
1055    ----------------------------------------------------------------------
1056    Name: Matthias Blume (blume (at) tti - c (dot) org)
1057    Date: 2004/12/01 16:50:00 CST
1058    Tag: blume-20041201-atom
1059    Description:
1060    
1061    smlnj-lib:
1062    
1063      Added function HashString.hashString' for substrings.
1064      Hand-inlined CharVector.foldl into HashString (for speed).
1065      Modified implementation of structure Atom to avoid extracting
1066      strings from substrings unless necessary.
1067      (Also see CHANGES file for smlnj-lib.)
1068    
1069    ----------------------------------------------------------------------
1070    Name: Matthias Blume (blume (at) tti - c (dot) org)
1071    Date: 2004/11/24 22:15:00 CST
1072    Tag: blume-20041124-cml
1073    Description:
1074    
1075    Made sure CML compiles when Position = Int64.
1076    
1077    ----------------------------------------------------------------------
1078    Name: Matthias Blume (blume (at) tti - c (dot) org)
1079    Date: 2004/11/24 14:30:00 CST
1080    Tag: blume-20041124-position
1081    Description:
1082    
1083    The compiler can now be compiled in a mode that makes structure Position
1084    equal to Int64.  The default, however, is unchanged (Position = Int31)
1085    for the time being.
1086    
1087    To enable 64-bit positions, use the following procedure:
1088    
1089    1. Start sml
1090    2. Autoload $smlnj/cmb.cm (if not already autoloaded)
1091    3. Type
1092          #set (CMB.symval "USE_64_BIT_POSITIONS") (SOME 1);
1093    4. Run CMB.make() as usual.
1094    
1095    This is barely tested.  The only test so far was a little SML program
1096    counting the number of characters in an 8-gigabyte file by
1097    reading it character-by-character.  That test was successful.
1098    
1099    In support of 64-bit positions, a number of new functions have been
1100    added to the runtime system.
1101    
1102    ----------------------------------------------------------------------
1103    Name: Matthias Blume (blume (at) tti - c (dot) org)
1104    Date: 2004/11/23 14:45:00 CST
1105    Tag: blume-20041123-useFile
1106    Description:
1107    
1108    Fixed a problem with unhelpful error messages related to problems with
1109    .cm- or .sml files that appear as part of the sml command line.
1110    
1111    ----------------------------------------------------------------------
1112    Name: Matthias Blume (blume (at) tti - c (dot) org)
1113    Date: 2004/11/18 15:40:00 CST
1114    Tag: Release_110_51
1115    Description:
1116    
1117    New working version (110.51).  NEW BOOTFILES!
1118    
1119    ----------------------------------------------------------------------
1120    Name: Matthias Blume (blume (at) tti - c (dot) org)
1121    Date: 2004/11/18 15:35:00 CST
1122    Tag: <none>
1123    Description:
1124    
1125    Enabled dlopen and friends for FreeBSD (as recommended by Johannes 5
1126    Joemann).
1127    
1128    ----------------------------------------------------------------------
1129    Name: Allen Leung (leunga (at) reservoir (dot) com)
1130    Date: 2004/11/17 16:05:21 EST 2004
1131    Tag: leunga-20041117-mlrisc-live-kill
1132    Description:
1133    
1134       Added support for MLTree constructs LIVE and KILL
1135    to all the architectures.
1136    
1137    ----------------------------------------------------------------------
1138    Name: Matthias Blume (blume (at) tti - c (dot) org)
1139    Date: 2004/11/13 00:20:00 CST
1140    Tag: blume-20041113-versiontool
1141    Description:
1142    
1143    - Stripped down the versiontool: It now only handles the version number.
1144      The date string is generated at bootstrap time (during makeml).
1145    
1146    - In a previous commit, fixed a minor issue with how polyequal is being
1147      translated.  In particular, the code now "looks through" abstractions.
1148      This results in slightly fewer polyEqual warnings and hopefully slightly
1149      more efficient code.  Important examples for where this matters are
1150      the new int64 and word64 types.
1151    
1152    ----------------------------------------------------------------------
1153    Name: Matthias Blume (blume (at) tti - c (dot) org)
1154    Date: 2004/11/12 00:30:00 CST
1155    Tag: blume-20041112-int64
1156    Description:
1157    
1158    Structure Int64 fully hooked in.  (The implementation is not very
1159    efficient, though.)
1160    
1161    ----------------------------------------------------------------------
1162    Name: Matthias Blume (blume (at) tti - c (dot) org)
1163    Date: 2004/11/11 17:30:00 CST
1164    Tag: blume-20041111-more64
1165    Description:
1166    
1167    All the pieces of Word64 are now there, with the exception of the
1168    conversions from and to LargeWord. (Eventually these need to be identities,
1169    but for the time being they don't even make sense because LargeWord is
1170    32-bit wide.)
1171    
1172    Also started to add similar support for Int64, but major pieces of that
1173    are still missing.
1174    
1175    ----------------------------------------------------------------------
1176    Name: Matthias Blume (blume (at) tti - c (dot) org)
1177    Date: 2004/11/11 00:15:00 CST
1178    Tag: blume-20041111-word64
1179    Description:
1180    
1181    Structure Word64 is now (almost) complete, word literals and patterns
1182    seem to work.  There are a few odd pieces missing.  In particular,
1183    I didn't do the {from,to}LargeWord parts because LargeWord is still Word32
1184    at the moment.
1185    
1186    Making Word64 official would mean that LargeWord becomes Word64.  But
1187    this requires extreme care because most word-word conversions have to
1188    go through LargeWord, so making a mistake means loss of efficiency or
1189    worse.  Eventually there will be a solution similar to (but actually
1190    simpler than) what I did with IntInf.
1191    
1192    ----------------------------------------------------------------------
1193    Name: Matthias Blume (blume (at) tti - c (dot) org)
1194    Date: 2004/11/10 18:12:00 CST
1195    Tag: blume-20041110-64bit
1196    Description:
1197    
1198    More 64-bit hacking (but still not even half-way there yet).
1199    Also, some assorted improvements to the handling of 8-bit words.
1200    
1201    ----------------------------------------------------------------------
1202    Name: Matthias Blume (blume (at) tti - c (dot) org)
1203    Date: 2004/11/09 17:50:00 CST
1204    Tag: <none>
1205    Description:
1206    
1207    Started adding some infrastructure for supporting 64-bit int- and
1208    word-types.  (Still in its very early stages.)
1209    
1210    ----------------------------------------------------------------------
1211    Name: Matthias Blume (blume (at) tti - c (dot) org)
1212    Date: 2004/10/28 10:45:00 CDT
1213    Tag: Release_110_50
1214    Description:
1215    
1216    New working version (110.50).  NEW BOOTFILES!
1217    
1218                 =====================
1219    
1220    Also:
1221    
1222      - Changend config/srcarchiveurl from a file just
1223        containing the URL string into a file containing
1224        shell script code.  The code has access to the $VERSION variable.
1225      - Made corresponding changes to config/install.sh and config/unpack.
1226      - Default contents of config/srcarchiveurl uses $VERSION and
1227        normally does not have to be edited to reflect a version change.
1228    
1229      (As a result, a version change can be done by just editing
1230       config/version, the rest is now automatic.)
1231    
1232    ----------------------------------------------------------------------
1233    Name: Matthias Blume (blume (at) tti - c (dot) org)
1234    Date: 2004/10/27 17:50:00 CDT
1235    Tag: blume-20041027-btrace-msg
1236    Description:
1237    
1238    BackTrace.monitor now also reports the source of the exception that
1239    triggered the trace.
1240    
1241    ----------------------------------------------------------------------
1242    Name: Matthias Blume (blume (at) tti - c (dot) org)
1243    Date: 2004/10/27 17:20:00 CDT
1244    Tag: blume-20041027-x86-c-calls
1245    Description:
1246    
1247    This is the HISTORY entry for two earlier commits, both concerning
1248    the x86 c-calls code in MLRISC:
1249    
1250      - added a missing LOAD in the code that deals with struct arguments
1251      - made sure the caller does not add the wrong number of bytes to the
1252        stack pointer after a call of a function returning a struct
1253        (the callee already pops the implicit argument which points to
1254         the space reserved for the result)
1255    
1256    ----------------------------------------------------------------------
1257    Name: Allen Leung (leunga (at) reservoir (dot) com)
1258    Date: 2004/10/24 14:00:00 EST
1259    Tag: leunga-20041024-x86-gas-fucomip
1260    Description:
1261    
1262       John discovered a bug in the syntax of fucomip.
1263       The opcodes FU?COMIP? have been changed to
1264    
1265           fu?comip? %st(i), %st
1266    
1267    ----------------------------------------------------------------------
1268    Name: Matthias Blume (blume (at) tti - c (dot) org)
1269    Date: 2004/10/20 15:06:00 CDT
1270    Tag: blume-20041020-standalone-backtrace
1271    Description:
1272    
1273    Added a mechanism for getting back-trace information from standalone
1274    programs.  Here is how it works:
1275    
1276       1. The part of the program from which you want to get backtrace
1277          information (usually the whole program) should be wrapped with
1278          BackTrace.monitor.  This is a (unit->'a)->'a function, and your
1279          main program could be modified from something like
1280    
1281             fun main (pgm, args) = ...
1282    
1283         to
1284    
1285            fun main (pgm, args) = BackTrace.monitor (fn () => ...)
1286    
1287       2. To be able to access BackTrace.monitor, you have to add
1288          library $smlnj-tdp/plugins.cm to the .cm file that contains your
1289          main function.
1290    
1291       3. Remove all compiled code (i.e., all the .cm/ subdirectories that
1292          CM might have created in the past for your project).
1293    
1294       4. Build the system using this command line:
1295    
1296             ml-build -Ctdp.instrument=true \$smlnj-tdp/back-trace.cm \
1297                      myprog.cm MyProg.main myprog
1298    
1299          instead of the usual
1300    
1301             ml-build myprog.cm MyProg.main myprog
1302    
1303    I changed a library name:
1304    
1305       $/trace-debug-profile.cm --> $smlnj-tdp/plugins.cm
1306    
1307    New libraries:
1308    
1309       $smlnj-tdp/back-trace.cm
1310          -- when loaded causes the back-trace plugin to be installed
1311       $smlnj-tdp/coverage.cm
1312          -- when loaded causes the coverage plugin to be installed
1313    
1314    ----------------------------------------------------------------------
1315    Name: Matthias Blume (blume (at) tti - c (dot) org)
1316    Date: 2004/10/18 16:45:00 CDT
1317    Tag: blume-20041018-groupowner
1318    Description:
1319    
1320    Added an "obsolete" warning for the "group owner" syntax to CM's parser.
1321    
1322    Eliminated group owner specs from .cm files throughout the source tree.
1323    
1324    ----------------------------------------------------------------------
1325    Name: Matthias Blume (blume (at) tti - c (dot) org)
1326    Date: 2004/10/15 15:45:00 CDT
1327    Tag: blume-20041015-coverage
1328    Description:
1329    
1330    * Test coverage tool added!
1331    * Further reorganization of tracing-, debugging-, and profiling support:
1332    
1333        - moved original BTImp -- now called BackTrace -- into a separate
1334          library called $/trace-debug-profile.cm
1335        - eliminated all mentions of BTrace from SMLofNJ.Internals
1336        - only the instrumentation mechanism is now left in the compiler proper
1337        - BackTrace module is a plugin which is NOT plugged in by default
1338        - Coverage module is another such plugin
1339    
1340    To get the benefits of any of these plugin modules, the code in
1341    question must be compiled with tdp instrumentation turned on.  This
1342    can be done by setting SMLofNJ.Internals.TDP.mode to true.
1343    (The ref cell is also controlled via the -Ctdp.instrument=... switch.)
1344    
1345    Plugins are selected at link time.  (Pre-compiled instrumented code
1346    can be re-loaded with different plugins in effect.)  When an
1347    instrumented module is linked, whatever plugins are at that time
1348    enabled will come into effect for that module.
1349    
1350    To enable the back-trace plugin, load library $/trace-debug-profile.cm
1351    and invoke BackTrace.install() (e.g., from the interactive prompt).
1352    To enable the coverage plugin, load the same library and invoke
1353    Coverage.install().
1354    
1355    Back-traces are generated automatically on uncaught exceptions and
1356    when the code in question explicitly invokes BackTrace.trigger().
1357    
1358    Coverage (and execution frequency-) information must be queried
1359    explicitly by calling Coverage.not_covered and Coverage.hot_spots.
1360    
1361    ----------------------------------------------------------------------
1362    Name: Matthias Blume (blume (at) tti - c (dot) org)
1363    Date: 2004/10/14 17:40:00 CDT
1364    Tag: blume-20041014-tdp-core
1365    Description:
1366    
1367    Snapshot of a significant overhaul of how the trace/debug/profile support
1368    is hooked into the system (specifically: Core and SMLofNJ.Internals).
1369    
1370    ----------------------------------------------------------------------
1371    Name: Matthias Blume (blume (at) tti - c (dot) org)
1372    Date: 2004/10/13 16:34:00 CDT
1373    Tag: blume-20041013-tdp
1374    Description:
1375    
1376    Some rationalization of names:
1377    
1378       structure BTrace -> structure TDPInstrument
1379       etc.
1380    
1381    This is is preparation of using the original back-trace
1382    instrumentation for other purposes.  "TDP" stands for
1383    Trace/Debug/Profile.
1384    
1385    The control flag controlling whether instrumentation is on or off is now
1386    registered under a different name, so instead of running sml as
1387    
1388     sml -Cinstrument.btrace-mode=true
1389    
1390    one has to say
1391    
1392     sml -Ctdp.instrument=true
1393    
1394    ----------------------------------------------------------------------
1395    Name: Matthias Blume (blume (at) tti - c (dot) org)
1396    Date: 2004/10/11 16:37:00 CDT
1397    Tag: blume-20041011-regions
1398    Description:
1399    
1400    Made some minor modifications to elabcore.sml to have source regions
1401    be propagated more tightly -- resulting in better (i.e., smaller)
1402    regions being reported in error- and debug messages.
1403    
1404    ----------------------------------------------------------------------
1405    Name: Matthias Blume (blume (at) tti - c (dot) org)
1406    Date: 2004/10/08 22:50:00 CDT
1407    Tag: blume-20041008-cmkw
1408    Description:
1409    
1410    Fixed handling of keywords in .cm files: After seeing "is" the lexer
1411    treats subsequent occurrences of "group", "library", "source", "is",
1412    "*", and "-" as ordinary identifiers rather than keywords.
1413    
1414    Most seriously, this fixes a problem with CM's "shell" tool.  The tool
1415    is supposed to accept a tool argument called "source", but this did
1416    not work because of the clash with the keyword.
1417    
1418    ----------------------------------------------------------------------
1419    Name: Matthias Blume (blume (at) tti - c (dot) org)
1420    Date: 2004/10/07 16:00:00 CDT
1421    Tag: blume-20041007-cleanup
1422    Description:
1423    
1424    Assorted cleanup work:
1425    
1426      - got rid of intstrmap in favor of using the library's
1427        hash table implementation
1428      - threw out most of the pathnames stuff, as it was not used anyway
1429      - simplified tokentable implementation
1430      - fixed some minor spelling errors
1431    
1432    ----------------------------------------------------------------------
1433    Name: Matthias Blume (blume (at) tti - c (dot) org)
1434    Date: 2004/10/06 15:15:15 CDT
1435    Tag: blume-20041006-handler
1436    Description:
1437    
1438    Cleaned up the absyn to reflect the invariant that HANDLE always
1439    carries a FNexp as part of the type definition.  This eliminates some
1440    superfluous sanity checks at runtime down the road.
1441    
1442    Some minor cleanup of the btrace code.
1443    
1444    ----------------------------------------------------------------------
1445    Name: Matthias Blume (blume (at) tti - c (dot) org)
1446    Date: 2004/10/01 10:20:30 CDT
1447    Tag: blume-20041001-slave
1448    Description:
1449    
1450    Added hack to make slave mode work in the presence of the version
1451    tool.  (Still, since the master does two passes over the code for
1452    CMB.make, the release number gets bumped twice when slaves are
1453    attached.  I don't know if this is worth fixing...)
1454    
1455    ----------------------------------------------------------------------
1456    Name: Matthias Blume (blume (at) tti - c (dot) org)
1457    Date: 2004/09/30 10:55:00 CDT
1458    Tag: blume-20040930-version
1459    Description:
1460    
1461    * Moved the "version" magic into its own little library under
1462      src/system/smlnj/internal.  This avoids expensive reconstruction of
1463      a stable src/compiler/core.cm.
1464    
1465    * At the same time, structure CompilerVersion is now known as
1466      structure SMLNJVersion.
1467    
1468    * Arranged for the version tool to NOT kick in when rebuilding the system
1469      (makeml -rebuild, fixpt).  Otherwise one would never reach a fixpoint.
1470      Also, loading the versiontool does not work when rebuilding the system
1471      because CM is not properly initialized at that time.
1472    
1473    ----------------------------------------------------------------------
1474    Name: Matthias Blume (blume (at) tti - c (dot) org)
1475    Date: 2004/09/29 14:00:00 CDT
1476    Tag: blume-20040929-autoversion
1477    Description:
1478    
1479    Implemented some CM magic to have
1480        file src/compiler/TopLevel/main/version.sml
1481    generated automagically.
1482    The version is taken from two files: config/version and config/release.
1483    The first is expected to contain a two-part version number such as 110.49.
1484    The second should contain a single number, but it may be missing.
1485    
1486    If the environment variable VERSIONTOOL_BUMP_RELEASE is defined at the
1487    time the version tool is loaded (which is the first time you say CMB.make),
1488    then the tool will increment the value stored in config/release every
1489    time CMB.make is invoked.
1490    
1491    The binfile format is now insensitive to anything beyond the first
1492    two components of a version number, so bumping the release does not render
1493    binfiles incompatible.  Auto-bumping can be used to keep track of versions
1494    during development without invalidating existing binfiles.
1495    
1496    In any case, every CMB.make updates the date information in version.sml.
1497    (This is the date that is printed in the banner.)
1498    
1499    ----------------------------------------------------------------------
1500    Name: Matthias Blume (blume (at) tti - c (dot) org)
1501    Date: 2004/09/28 10:53:00 CDT
1502    Tag: blume-20040928-controls
1503    Description:
1504    
1505    Some cleanup of the controls code.
1506    
1507    ----------------------------------------------------------------------
1508    Name: Matthias Blume (blume (at) tti - c (dot) org)
1509    Date: 2004/09/27 22:08:00 CDT
1510    Tag: blume-20040927-controls
1511    Description:
1512    
1513    Added two pieces of functionality to the Controls interface:
1514    
1515    1.   val save'restore: 'a control -> unit -> unit
1516    
1517       grabs the current value of the control in stage 1 and restores it
1518       in stage 2.
1519    
1520    2.   val set' : 'a control * 'a -> unit -> unit
1521    
1522       stores the given value into the control in stage 2 (i.e., delayed)
1523       but does all error checking in stage 1.
1524       (This is for string controls that need to do parse their argument --
1525        something that might fail.  In some cases, notably in CM, one
1526        already knows the intended argument but wants to delay the actual
1527        assignment until a time when error recovery would be more difficult.)
1528    
1529    Changed the handling of controls in tool arguments to classes "sml" and
1530    "lazysml":
1531       - use Controls.save'restore as a more robust way of restoring the
1532         old value (in particular: without having to re-parse the string)
1533       - use controls to handle the "overload" keyword in the init group
1534         (I believe this change actually fixes a long-standing obscure bug.)
1535    
1536    ----------------------------------------------------------------------
1537    Name: Matthias Blume (blume (at) tti - c (dot) org)
1538    Date: 2004/09/27 17:00:00 CDT
1539    Tag: blume-20040927-lazysml
1540    Description:
1541    
1542    Added a new tool class called "lazysml" to CM's tool chest.  The only
1543    difference to "sml" is that compilation is done with Control.lazysml
1544    set to true.  A source of class "lazysml" is automatically recognized
1545    by a file name suffix of ".lml".
1546    
1547    In addition to the above feature, the original class "sml" now also
1548    supports a tool argument "lazy" which has the same effect.  As a
1549    result, the following three lines are equivalent:
1550    
1551        foo.sml : lazysml
1552        foo.sml : sml (lazy)
1553        foo.sml (lazy)
1554    
1555    The setting goes into effect both during parsing and during
1556    compilation.  The original setting is restored right after parsing and
1557    after compilation, respectively.
1558    
1559    In addition to all the above, there is also a general mechanism to set
1560    ANY of the "controls" that are available at the command line via
1561    "-C..." on a per-sml-file basis.  The same rules that apply for "lazy"
1562    apply as well. (In fact, "lazy" is implemented as a special case of
1563    the general mechanism.)
1564    
1565    The .cm file syntax uses a new keyword tool argument called "with".
1566    There are several ways of indicating the desired settings:
1567    
1568        foo.sml (with:parser.quotations=true)
1569        foo.sml (with:(name:parser.quotations value:true))
1570        foo.sml (with:(name:name1 value:value1 name:name2 value:value2 ...))
1571        foo.sml (with:(name1=value1 name2=value2 ...))
1572        foo.sml (with:(name1=value1 name:name2 value:value2 name3=value3 ...))
1573    
1574        etc.
1575    
1576    Another possible abbreviation is to leave out the =v or value:v part
1577    if the name refers to a boolean control (in which case the value is
1578    taken to be true).  Thus, one could get lazy sml also by saying:
1579    
1580        foo.sml (with:parser.lazy-keyword=true)
1581        foo.sml (with:parser.lazy-keyword)
1582        foo.sml (with:(name:parser.lazy-keyword value:true))
1583        foo.sml (with:(name:parser.lazy-keyword))
1584    
1585    ----------------------------------------------------------------------
1586    Name: Matthias Blume (blume (at) tti - c (dot) org)
1587    Date: 2004/09/24 16:22:00 CDT
1588    Tag: blume-20040924-ppc-long-branch
1589    Description:
1590    
1591    Turned message about "emiting long form of branch" off by default.
1592    Added a control flag to turn it back on when desired.
1593    
1594    ----------------------------------------------------------------------
1595    Name: Matthias Blume (blume (at) tti - c (dot) org)
1596    Date: 2004/09/24 16:05:00 CDT
1597    Tag: blume-20040924-rounding
1598    Description:
1599    
1600    Applied patch for setting rounding modes under Mac OS X.  Thanks to
1601    Melissa O'Neill for providing the code!
1602    
1603    ----------------------------------------------------------------------
1604    Name: Matthias Blume (blume (at) tti - c (dot) org)
1605    Date: 2004/09/23 17:30:00 CDT
1606    Tag: blume-20040923-envvars
1607    Description:
1608    
1609    1. Changed definition of type ControlRegistry.registry_tree to
1610       include control_info (i.e., the name of the controlling environment
1611       variable).
1612    
1613    2. Added command-line flags -e and -E to print the names of environment
1614       variables that can be used to control internal settings.
1615       (This uses the new API mentioned in 1.)
1616    
1617    ----------------------------------------------------------------------
1618    Name: Matthias Blume (blume (at) tti - c (dot) org)
1619    Date: 2004/09/13 16:50:00 CDT
1620    Tag: Release_110_49
1621    Description:
1622    
1623    New working version (110.49).  NEW BOOTFILES!
1624    
1625    ----------------------------------------------------------------------
1626    Name: Matthias Blume
1627    Date: 2004/09/13 16:20:00 CDT
1628    Tag: blume-20040913-config-mlrisc
1629    Description:
1630    
1631    Put target "mlrisc" back into the default list.
1632    (There is no harm in having it, and some users have expressed their
1633    wish to have "mlrisc" included by default.)
1634    
1635    ----------------------------------------------------------------------
1636    Name: John Reppy
1637    Date: 2004/09/13
1638    Tag: jhr-20040913-signals
1639    Description:
1640    
1641    Fixed the signal masking code to properly nest mask/unmask operations
1642    on a per-signal basis.
1643    
1644    ----------------------------------------------------------------------
1645    Name: Matthias Blume (blume (at) tti - c (dot) org)
1646    Date: 2004/09/08 13:20:00 CDT
1647    Tag: blume-20040908-heap-magic
1648    Description:
1649    
1650    Bumped the heap macig number to 0x09082004 to account for the changed
1651    layout of the ML frame under MacOS X.
1652    
1653    ----------------------------------------------------------------------
1654    Name: Allen Leung (leunga (at) reservoir (dot) com)
1655    Date: 2004/09/03 11:26:00 EST
1656    Tag: leunga-20040903-cygwin-install
1657    Description:
1658    
1659       Added a patch to _arch-n-opsys to enable the Cygwin runtime.
1660    The Cygwin runtime is turned on by setting the environment
1661    variable SMLNJ_CYGWIN_RUNTIME to 1.
1662    
1663    ----------------------------------------------------------------------
1664    Name: Matthias Blume (blume (at) tti - c (dot) org)
1665    Date: 2004/08/31 17:15:00 CDT
1666    Tag: blume-20040831-core
1667    Description:
1668    
1669    Added some exports to src/compiler/core.cm upon request by J. Joemann.
1670    
1671    ----------------------------------------------------------------------
1672    Name: Matthias Blume (blume (at) tti - c (dot) org)
1673    Date: 2004/08/30 17:55:00 CDT
1674    Tag: blume-20040830-installer
1675    Description:
1676    
1677    Upon request by Johannes Joemann:
1678    
1679    - improved ML code of installer to fall back to coping when renaming
1680      fails (i.e., when source and target are on different file systems);
1681      the code compiles but has yet to be tested in anger
1682    - removed mlrisc from list of default targets (config/targets)
1683    
1684    ----------------------------------------------------------------------
1685    Name: Matthias Blume (blume (at) tti - c (dot) org)
1686    Date: 2004/08/27 17:20:00 CDT
1687    Tag: blume-20040827-ptreql
1688    Description:
1689    
1690    Added ptreql primop to structure InlineT (upon request from Larry
1691    Paulson).
1692    
1693    ----------------------------------------------------------------------
1694    Name: Allen Leung (leunga (at) reservoir (dot) com)
1695    Date: 2004/08/15 21:21:00 EST
1696    Tag: leunga-110_48-udgraph
1697    Description:
1698    
1699    Another bug fix from Carl Hauser:
1700    
1701    diff /net/niflab/smlnj48/src/MLRISC/graphs/udgraph.sml udgraph.sml
1702    > 48c48
1703    > <              | rmv((e as (k,_))::es,L) = rmv(es,if k = i then es else
1704    > e::L)
1705    > ---
1706    > >              | rmv((e as (k,_))::es,L) = rmv(es,if k = i then L else e::L)
1707    > Without this, any deletion of an edge in an undirected graph does severe
1708    > violence to the graph.
1709    
1710    ----------------------------------------------------------------------
1711    Name: Allen Leung (leunga (at) reservoir (dot) com)
1712    Date: 2004/08/10 23:35:00 EST
1713    Tag: leunga-110_48-ppc
1714    Description:
1715    
1716       The IBM/MacOS syntax switch on PPC was incorrectly swapped.
1717    
1718    ----------------------------------------------------------------------
1719    Name: Matthias Blume (blume (at) tti - c (dot) org)
1720    Date: 2004/08/10 12:00:00 CDT
1721    Tag: Release_110_48
1722    Description:
1723    
1724    New working version (110.48).  NEW BOOTFILES!
1725    
1726    ----------------------------------------------------------------------
1727    Name: Allen Leung (leunga (at) reservoir (dot) com)
1728    Date: 2004/08/09 12:21:00 EST
1729    Tag: leunga-110_47-dijsktra
1730    Description:
1731    
1732    Bug fix from Carl Hauser:
1733    
1734    single_source_shortest_paths in dijkstra.sml was observed to get wrong
1735    answers (by comparing to single_source_shortest_paths in bellman-ford.sml).
1736    
1737    The problem is that following the expression A.update(dist,s,Num.zero)
1738    it is necessary to update the priority queue using Q.decreaseWeight(Q,s).
1739    
1740    ----------------------------------------------------------------------
1741    Name: Matthias Blume (blume (at) tti - c (dot) org)
1742    Date: 2004/08/06 18:10:00 CDT
1743    Tag: blume-20040806-cmdline
1744    Description:
1745    
1746    Fiddled with handling of command-line options:
1747    
1748      * sml now quits after processing the command line
1749        if -H, -S, -h<n>, or -s<n> appears as the last
1750        command-line argument
1751      * a new option -q terminates the session when encountered on
1752        the command line; subsequent arguments will be ignored
1753      * bug fixes: short (erroneous) arguments are no longer ignored
1754        completely
1755    
1756    ----------------------------------------------------------------------
1757    Name: Allen Leung (leunga (at) reservoir (dot) com)
1758    Date: 2004/08/04 18:17:00 EST
1759    Tag: leunga-110_47-ppc-ibm-asm
1760    Description:
1761    
1762      - Added minimal IBM assembly syntax support for PowerPC.
1763    
1764      - Cygwin: manually changed the file cygwin.def.  Some exported symbols have
1765        been altered in the runtime.  We need an automatic way to keep the file
1766        in sync.
1767    
1768    ----------------------------------------------------------------------
1769    Name: Matthias Blume (blume (at) tti - c (dot) org)
1770    Date: 2004/08/04 14:00:00 CDT
1771    Tag: Release_110_47
1772    Description:
1773    
1774    New working version (110.47).  NEW BOOTFILES!
1775    
1776    ----------------------------------------------------------------------
1777    Name: Matthias Blume (blume (at) tti - c (dot) org)
1778    Date: 2004/08/03 14:25:00 CDT
1779    Tag: blume-20040803-callingconv
1780    Description:
1781    
1782    Added low-level support for choosing C calling conventions by
1783    twiddling the type of rawccall.  (See
1784    src/compiler/Semant/types/cproto.sml for details.)
1785    
1786    ----------------------------------------------------------------------
1787    Name: Matthias Blume (blume (at) tti - c (dot) org)
1788    Date: 2004/08/02 15:55:00 CDT
1789    Tag: blume-20040802-backout
1790    Description:
1791    
1792    Backed out of change to win32-filesys.c.  The earlier patch to
1793    get_file_time caused CM to produce files with the wrong time stamp.
1794    
1795    ----------------------------------------------------------------------
1796    Name: Matthias Blume (blume (at) tti - c (dot) org)
1797    Date: 2004/08/02 14:45:00 CDT
1798    Tag: blume-20040802-nlffi-win32
1799    Description:
1800    
1801    Added NLFFI support for Win32, adapted from a patch provided by David
1802    Hansel.  This is currently completely untested.  Also, the issue
1803    concerning stdcall vs. ccall is still unresolved.
1804    
1805    ----------------------------------------------------------------------
1806    Name: Matthias Blume (blume (at) tti - c (dot) org)
1807    Date: 2004/07/30 17:55:00 CDT
1808    Tag: blume-20040730-various
1809    Description:
1810    
1811    Gearing up towards 110.47...
1812    
1813    - various minor bugfixes to ml-nlffigen
1814    - a beginning of a manual for nlffi
1815    
1816    - eliminated 'export name=value' in config/install.sh as this does
1817      not work with certain versions of /bin/sh
1818      (Thanks to David King at Motorola for catching this.)
1819    
1820    - several bugfixes provided or suggested by David Hansel at Reactive Systems:
1821      - added a test for tm==NULL to gmtime.c and localtime.c
1822      - applied patch for incorrect GetFileTime under win32
1823      - toSeconds -> toMilliseconds in Win32/win32-process.sml
1824    
1825    ----------------------------------------------------------------------
1826    Name: Matthias Blume (blume (at) tti - c (dot) org)
1827    Date: 2004/07/21 18:20:00 CDT
1828    Tag: blume-20040721-nlffigen
1829    Description:
1830    
1831    - Fixed minor issue in ml-nlffigen: Now generate structure T_foo
1832      for a typedef to an incomplete type, but leave out the "typ" member.
1833      (This is just for consistency.)
1834    - Started to produce what is supposed to become better (i.e., comprehensive)
1835      documentation of what ml-nlffigen does and produces.
1836    
1837    ----------------------------------------------------------------------
1838    Name: Matthias Blume (blume (at) tti - c (dot) org)
1839    Date: 2004/07/14 16:25:00 CDT
1840    Tag: blume-20040714-union
1841    Description:
1842    
1843    Added C_UNION to c-calls/c-types.sml and updated the machinery
1844    (ml-nlffigen, cproto.sml) that conveys C function interface
1845    information to the code generator.
1846    
1847    However, the actual architecture-specific implementation of function
1848    arguments and results that are C unions is still not implemented.
1849    
1850  ----------------------------------------------------------------------  ----------------------------------------------------------------------
1851  Name: Allen Leung (leunga (at) reservoir (dot) com)  Name: Allen Leung (leunga (at) reservoir (dot) com)

Legend:
Removed from v.1546  
changed lines
  Added in v.2304

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