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

Legend:
Removed from v.1613  
changed lines
  Added in v.2161

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