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 3588, Mon May 9 21:38:43 2011 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:  Name: Your Name (web page or e-mail)
11    Date: yyyy/mm/dd hh:mm:ss
12    Tag: cvs-tag-for-this-change
13    Description:
14    
15    Here is a test entry
16    
17    ----------------------------------------------------------------------
18    Name: John Reppy (http://cs.uchicago.edu/~jhr)
19    Date: 2011/05/09
20    Description:
21    
22    Added missing String.scan function (#69).  This also fixes the handling
23    of certain corner cases by String.fromString.
24    
25    ----------------------------------------------------------------------
26    Name Mike Rainey (http://www.mpi-sws.org/~mrainey)
27    Date 2011/05/03
28    Description:
29    
30    Added the RTDSC and RTDSCP instructions to the amd64 code generator.
31    
32    ----------------------------------------------------------------------
33    Name: John Reppy (http://cs.uchicago.edu/~jhr)
34    Date: 2011/04/08
35    Description:
36    
37    Added fix for comments in code bug (#63).
38    Thanks to Michael Norrish.
39    
40    ----------------------------------------------------------------------
41    Name: John Reppy (http://cs.uchicago.edu/~jhr)
42    Date: 2011/04/08
43    Description:
44    
45    Fixed bug in Socket.acceptNB (bug #59)
46    
47    ----------------------------------------------------------------------
48    Name: John Reppy (http://cs.uchicago.edu/~jhr)
49    Date: 2011/03/31
50    Description:
51    
52    Fixed syntax error in ml-lex compatibility mode (bug #49)
53    
54    ----------------------------------------------------------------------
55    Name: John Reppy (http://cs.uchicago.edu/~jhr)
56    Date: 2011/03/22
57    Description:
58    
59    Update _arch-n-opsys script for Mac OS X Lion (10.7).
60    
61    ----------------------------------------------------------------------
62    Name: John Reppy (http://cs.uchicago.edu/~jhr)
63    Date: 2011/02/18
64    Description:
65    
66    Added Barriers module to CML.
67    
68    ----------------------------------------------------------------------
69    Name: Lars Bergstrom (larsberg@cs.uchicago.edu)
70    Date: 2011/02/10
71    Description:
72    
73    Fixed ml-yacc examples to respect the changed signatures with respect
74    to TextIO.inputLine.
75    
76    ----------------------------------------------------------------------
77    Name: Lars Bergstrom (larsberg@cs.uchicago.edu)
78    Date: 2010/09/16
79    Description:
80    
81    Changed the Win32 implementation of validArc to support directories
82    with extended characters (umlauts, etc.).
83    
84    ----------------------------------------------------------------------
85    Name: Lars Bergstrom (larsberg@cs.uchicago.edu)
86    Date: 2010/09/16
87    Description:
88    
89    Fixed the Win32 socket and polling implementation to work correctly
90    with CML. Signature of poll was wrong and didn't handle sockets at all.
91    
92    ----------------------------------------------------------------------
93    Name: John Reppy (http://cs.uchicago.edu/~jhr)
94    Date: 2010/06/16
95    Description:
96    
97    Fixed Real.toString and Real.fmt to include sign for negative zero.
98    
99    ----------------------------------------------------------------------
100    Name: Lars Bergstrom (larsberg@cs.uchicago.edu)
101    Date: 2010/03/23
102    Description:
103    
104    Fixed the bug with Win32 calls to OS.Process.system not quoting the string.
105    
106    ----------------------------------------------------------------------
107    Name: Jon Riehl (http://jonriehl.com/)
108    Date: 2010/02/11
109    Description:
110    
111    Applied patch for building on more recent NetBSD's.  See bug #39 in the
112    tracker:
113    
114    http://smlnj-gforge.cs.uchicago.edu/tracker/index.php?func=detail&aid=39&group_id=33&atid=215
115    
116    ----------------------------------------------------------------------
117    Name: Jon Riehl (http://jonriehl.com/)
118    Date: 2010/02/02
119    Description:
120    
121    Cutting version 110.72.  New bootfiles.
122    
123    ----------------------------------------------------------------------
124    Name John Reppy (http://cs.uchicago.edu/~jhr)
125    Date 2009/12/20
126    Description:
127    
128    Fixed performance bugs in List module by making @ and foldr be
129    tail recursive.
130    
131    ----------------------------------------------------------------------
132    Name: Lars Bergstrom (larsberg@cs.uchicago.edu)
133    Date: 2009/12/11
134    Description:
135    
136    Fixed the Win32 unable to print long strings bug.
137    ----------------------------------------------------------------------
138    Name: Lars Bergstrom (larsberg@cs.uchicago.edu)
139    Date: 2009/12/10
140    Description:
141    
142    Fixed an overrun during major GC. If the string arena was nearly full, it was possible
143    for alignment padding added during copy to the to-space to overrun the allocated
144    size.
145    ----------------------------------------------------------------------
146    Name John Reppy (http://cs.uchicago.edu/~jhr)
147    Date 2009/11/18
148    Description:
149    
150    The ml-antlr and ml-ulex programs have been ported to build under
151    mlton.
152    
153    ----------------------------------------------------------------------
154    Name John Reppy (http://cs.uchicago.edu/~jhr)
155    Date 2009/11/17
156    Description:
157    
158    Added %header directive to the ml-ulex scanner generator.  Also
159    updated the documentation.
160    
161    ----------------------------------------------------------------------
162    Name John Reppy (http://cs.uchicago.edu/~jhr)
163    Date 2009/11/17
164    Description:
165    
166    Added "@SMLsuffix" flag to sml command.  This can be used to get
167    the suffix for heap files.
168    
169    ----------------------------------------------------------------------
170    Name John Reppy (http://cs.uchicago.edu/~jhr)
171    Date 2009/11/17
172    Description:
173    
174    Added "--strict-sml" flag to ml-ulex for MLton compatibility.
175    
176    ----------------------------------------------------------------------
177    Name John Reppy (http://cs.uchicago.edu/~jhr)
178    Date 2009/11/10
179    Description:
180    
181    Added %header directive to the ml-antlr parser generator.  Also
182    updated the documentation.
183    
184    ----------------------------------------------------------------------
185    Name: Jon Riehl (http://www.jonriehl.com/)
186    Date: 2009/09/16
187    Description:
188    
189    Cutting version 110.71.  New bootfiles.
190    
191    ----------------------------------------------------------------------
192    Name John Reppy (http://cs.uchicago.edu/~jhr)
193    Date 2009/09/13
194    Description:
195    
196    Changes to support compiling the runtime system on Mac OS X 10.6
197    (aka Snow Leopard).
198    
199    ----------------------------------------------------------------------
200    Name Mike Rainey (http://cs.uchicago.edu/~mrainey)
201    Date 2009/08/19
202    Description:
203    
204    Fixed a bug in the register-spill generator that is part of the MLRISC
205    register allocator. The problem was that the code in RASpillWithRenaming
206    functor assumed incorrectly that dedicated registers would appear in
207    def/use information generated by ClusterRA. Thanks to Allen Leung for
208    helping with this bug.
209    
210    ----------------------------------------------------------------------
211    Name John Reppy (http://cs.uchicago.edu/~jhr)
212    Date 2009/07/09
213    Description:
214    
215    Removed redundant implementations of various top-level operations by
216    consolidating them in base/system/smlnj/init/pervasive.sml.  This
217    change also fixes a bug in that the top-level version of round was
218    incorrect.
219    
220    ----------------------------------------------------------------------
221    Name: Matthias Blume (http://www.tti-c.org/blume/)
222    Date: 2009/06/15 11:17:00 CDT
223    Description:
224    
225    Bumped version number to 110.70.  New bootfiles.
226    
227    ----------------------------------------------------------------------
228    Name: Matthias Blume (http://www.tti-c.org/blume/)
229    Date: 2009/06/12 11:02:00 CDT
230    Description:
231    
232    1. Corrected problem in config/actions that led to the so-called
233       "unpickling bug" which appeared in version 110.68.
234    
235    2. Provided fix for the 64-bit pattern match bug.
236    
237    ----------------------------------------------------------------------
238    Name John Reppy (http://cs.uchicago.edu/~jhr)
239    Date 2009/03/21
240    Description:
241    
242    Fixed bug in Int32.fmt when the argument was the minimum int and the
243    radix was something other than DEC.
244    
245    ----------------------------------------------------------------------
246    Name Aaron Turon (turon@ccs.neu.edu)
247    Date 2009/02/21
248    Description:
249    
250    Fixed bugs in how ml-antlr parsed ML types in %tokens specifications.
251    
252    ----------------------------------------------------------------------
253    Name: Jon Riehl (http://www.jonriehl.com/)
254    Date: 2009/01/13
255    Description:
256    
257    Picking up some additional fixes for 110.69, including a fix for
258    spaces in CM file paths.
259    
260    ----------------------------------------------------------------------
261    Name: Jon Riehl (http://www.jonriehl.com/)
262    Date: 2008/12/22
263    Description:
264    
265    Version bumped to 110.69.  New bootfiles.
266    
267    ----------------------------------------------------------------------
268    Name: John Reppy (http://www.cs.uchicago.edu/~jhr)
269    Date: 2008/12/06
270    Description:
271    
272    Re-enabled some CPS optimizations (first_contract and eta).  The most
273    important effect of this change is to make uses of SMLofNJ.Cont.capture
274    be properly tail recursive.
275    
276    ----------------------------------------------------------------------
277    Name: Mike Rainey (http://www.cs.uchicago.edu/~mrainey)
278    Date: 2008/12/03
279    Description:
280    
281    New concurrency-related instructions for x86 and amd64 code
282    generators.
283      - PAUSE: Notify the CPU that the program is spin waiting.
284      - MFENCE: memory fence for reads and writes.
285      - SFENCE: memory fence for writes.
286      - LFENCE: memory fence for reads.
287    
288    ----------------------------------------------------------------------
289    Name: John Reppy (http://www.cs.uchicago.edu/~jhr)
290    Date: 2008/12/02
291    Description:
292    
293    Added makefile and other support for building runtime on OpenBSD.
294    
295    ----------------------------------------------------------------------
296    Name: John Reppy (http://www.cs.uchicago.edu/~jhr)
297    Date: 2008/08/13
298    Description:
299    
300    Version bumped to 110.68.  New bootfiles.
301    
302    ----------------------------------------------------------------------
303    Name Aaron Turon (turon@ccs.neu.edu)
304    Date 2008/08/11
305    Description:
306    
307    Minor fix to ml-ulex backend for regexps that match any character
308    and perform a single action.  Previously the emitted code would
309    not allow the regexps to match any character at all.
310    
311    ----------------------------------------------------------------------
312    Name: John Reppy (http://www.cs.uchicago.edu/~jhr)
313    Date: 2008/08/05
314    Description:
315    
316    Added build support for OpenBSD (thanks to Brian O'Hanlon).
317    
318    ----------------------------------------------------------------------
319    Name: John Reppy (http://www.cs.uchicago.edu/~jhr)
320    Date: 2008/07/12
321    Description:
322    
323    Fixed Int64.fromString to use base-10.
324    
325    ----------------------------------------------------------------------
326    Name: John Reppy (http://www.cs.uchicago.edu/~jhr)
327    Date: 2008/04/12
328    Description:
329    
330    Various updates to the ml-lpt tree.  The documentation has been updated;
331    bugs in the parsing of negation and character classes in ml-ulex have
332    been fixed; and changes have been made to make the ml-lpt tools more
333    compatible with MLton (and other SML implementations).  Thanks to
334    Matthew Fluet and Aaron Turon for their patches.
335    
336    ----------------------------------------------------------------------
337    Name: Lars Bergstrom (larsberg@cs.uchicago.edu)
338    Date: 2008/20/04
339    Description:
340    
341    Implemented timer-based profiling on Windows, with behavior as close
342    to the *nix ITIMER-based profiling as possible.
343    ----------------------------------------------------------------------
344    Name: Lars Bergstrom (larsberg@cs.uchicago.edu)
345    Date: 2008/07/04
346    Description:
347    
348    Finished off the Windows subset of the basis library. Added process
349    support and various configuration and system identification utils.
350    ----------------------------------------------------------------------
351    Name: John Reppy (http://www.cs.uchicago.edu/~jhr)
352    Date: 2008/03/18
353    Description:
354    
355    Major changes to the RegExp library: see smlnj-lib/CHANGES for details.
356    ----------------------------------------------------------------------
357    Name: Lars Bergstrom (larsberg@cs.uchicago.edu)
358    Date: 2008/02/14
359    Description:
360    
361    Added the Windows Status structure
362    ----------------------------------------------------------------------
363    Name: Lars Bergstrom (larsberg@cs.uchicago.edu)
364    Date: 2008/02/14
365    Description:
366    
367    Added the Windows DDE structure
368    ----------------------------------------------------------------------
369    Name: Lars Bergstrom (larsberg@cs.uchicago.edu)
370    Date: 2008/02/05
371    Description:
372    
373    Added the Windows Config structure
374    ----------------------------------------------------------------------
375    Name: Lars Bergstrom (larsberg@cs.uchicago.edu)
376    Date: 2008/01/31
377    Description:
378    
379    Added outline of the Windows basis library and the basic registry
380    functionality.
381    ----------------------------------------------------------------------
382    Name: Mike Rainey (http://www.cs.uchicago.edu/~mrainey)
383    Date: 2008/01/23
384    Description:
385    
386    Fixed the amd64 code generator to compile with the current MLRISC.
387    ----------------------------------------------------------------------
388    Name: Lars Bergstrom (larsberg@cs.uchicago.edu)
389    Date: 2007/11/26
390    Description:
391    
392    nlffi was updated to work on Windows. It needed to pass in the correct
393    value for the name of the kernel32 DLL to obtain 'base' bindings.
394    Additionally updated the README for the most basic nlffi sample with
395    what you need to do on MacOSX and on Windows to make it work.
396    ----------------------------------------------------------------------
397    Name: Lars Bergstrom (larsberg@cs.uchicago.edu)
398    Date: 2007/11/21
399    Description:
400    
401    Overwrite the SMLNJ_HOME environment variable on installation
402    Properly change the package code so that subsequent version
403    installations prompt for uninstall (instead of 'repair/remove')
404    ----------------------------------------------------------------------
405    Name: Lars Bergstrom (larsberg@cs.uchicago.edu)
406    Date: 2007/11/14
407    Description:
408    
409    Cleaned up WININSTALL file for new MSI-based setup.
410    ----------------------------------------------------------------------
411    Name: Matthias Blume (http://www.tti-c.org/blume/)
412    Date: 2007/11/13 14:05:00 CST
413    Description:
414    
415    Version bumped to 110.67.  New bootfiles.
416    
417    ----------------------------------------------------------------------
418    Name: John Reppy (http://www.cs.uchicago.edu/~jhr)
419    Date: 2007/11/12
420    Description:
421    
422    Ensure that the size of the allocation space is at least 128K.
423    ----------------------------------------------------------------------
424    Name: John Reppy (http://www.cs.uchicago.edu/~jhr)
425    Date: 2007/11/05
426    Description:
427    
428    Fixed type error in ml-lpt library that occurs when compiling
429    against a basis that was compiled with the USE_64_BIT_POSITIONS
430    symbol set.
431    (Thanks to Johannes Joemann)
432    ----------------------------------------------------------------------
433    Name: Mike Rainey (http://www.cs.uchicago.edu/~mrainey)
434    Date: 2007/11/03
435    Description:
436    
437    Fixed the amd64 code generator to compile with the current MLRISC.
438    ----------------------------------------------------------------------
439    Name: Lars Bergstrom (web page or e-mail)
440    Date: 2007/11/02
441    Description:
442    
443    Made sml.bat more resilient to either not having run the installer
444    and having no SMLNJ_HOME set or having just shuffled the directory
445    around.
446    ----------------------------------------------------------------------
447    Name: John Reppy (http://www.cs.uchicago.edu/~jhr)
448    Date: 2007/11/01
449    Description:
450    
451    A collection of bug fixes for machine.sml in the Reactive library.
452    (Thanks to Timothy Bourke)
453    ----------------------------------------------------------------------
454    Name: John Reppy (http://www.cs.uchicago.edu/~jhr)
455    Date: 2007/10/28
456    Description:
457    
458    Patches for Mac OS X 10.5 (Leopard).
459    ----------------------------------------------------------------------
460    Name: Mike Rainey (http://www.cs.uchicago.edu/~mrainey)
461    Date: 2007/10/28
462    Description:
463    
464    Fixed some bugs in the AMD64 floating-point spilling code.
465    ----------------------------------------------------------------------
466    Name: Mike Rainey (http://www.cs.uchicago.edu/~mrainey)
467    Date: 2007/10/25
468    Description:
469    
470    Added support for the atomic XCHG instruction.
471    ----------------------------------------------------------------------
472    Name: Mike Rainey (http://www.cs.uchicago.edu/~mrainey)
473    Date: 2007/10/22
474    Description:
475    
476    Added AMD64 support for floating-point negation.
477    ----------------------------------------------------------------------
478    Name: Lars Bergstrom (web page or e-mail)
479    Date: 2007/10/22
480    Description:
481    
482    Fixed ^C handling in Windows
483    Added a Windows installer
484    Made it possible to build for Windows on a mapped drive from Parallels
485    ----------------------------------------------------------------------
486    Name: Mike Rainey (http://www.cs.uchicago.edu/~mrainey)
487    Date: 2007/10/22
488    Description:
489    
490    Added AMD64 support for the atomic fetch and add instruction.
491    ----------------------------------------------------------------------
492    Name: Mike Rainey (http://www.cs.uchicago.edu/~mrainey)
493    Date: 2007/10/18
494    Description:
495    
496    The GAS output now favors p2align over align, since the
497    former is guaranteed to be consistent over multiple architectures
498    and the latter is not.
499    ----------------------------------------------------------------------
500    Name: Mike Rainey (http://www.cs.uchicago.edu/~mrainey)
501    Date: 2007/10/18
502    Description:
503    
504    Fixed a bug in register spilling.
505    ----------------------------------------------------------------------
506    Name: Mike Rainey (http://www.cs.uchicago.edu/~mrainey)
507    Date: 2007/10/2
508    Description:
509    
510    Added demo support for AMD64 for quick testing and fixed support for
511    64-bit label constants.
512    ----------------------------------------------------------------------
513    Name: Mike Rainey (http://www.cs.uchicago.edu/~mrainey)
514    Date: 2007/09/20
515    Description:
516    
517    Added support for the MLRISC COND instruction and the x86-64 CMOVCC
518    instruction.
519    ----------------------------------------------------------------------
520    Name: Mike Rainey (http://www.cs.uchicago.edu/~mrainey)
521    Date: 2007/09/17
522    Description:
523    
524    Fixed an instruction-selection bug when loading 64-bit labels.
525    
526    ----------------------------------------------------------------------
527    Name: George Kuan (http://www.cs.uchicago.edu/~gkuan)
528    Date: 2007/09/14
529    Description:
530    
531    Fixed Elaborator and Translate performance bugs
532    
533    ----------------------------------------------------------------------
534    Name: Mike Rainey (http://www.cs.uchicago.edu/~mrainey)
535    Date: 2007/09/12
536    Description:
537    
538    Fixed xorl memory argument bug.
539    
540    ----------------------------------------------------------------------
541    Name: George Kuan (http://www.cs.uchicago.edu/~gkuan)
542    Date: 2007/07/27
543    Description:
544    
545    Added f64sgn (for Real64.signBit) as a primop defined
546    in MLRiscGen. signBit(~0.0) not handled correctly.
547    
548    ----------------------------------------------------------------------
549    Name: John Reppy (http://www.cs.uchicago.edu/~jhr)
550    Date: 2007/06/21
551    Description:
552    
553    Fixed bug in {TextIO,BinIO}.StreamIO.endOfStream that would incorrectly
554    signal end of stream.
555    
556    ----------------------------------------------------------------------
557    Name: Matthias Blume (http://www.tti-c.org/blume/)
558    Date: 2007/06/12 11:22:00 CDT
559    Description:
560    
561    Eliminated config/allsources.  The information is now drawn directly
562    from config/actions.
563    
564    ----------------------------------------------------------------------
565    Name: Matthias Blume (http://www.tti-c.org/blume/)
566    Date: 2007/06/07 23:30:00 CDT
567    Tag: release-110.65
568    Description:
569    
570    Version 110.65. NEW BOOTFILES!
571    
572    ----------------------------------------------------------------------
573    Name: Matthias Blume (http://www.tti-c.org/blume/)
574    Date: 2007/06/06 21:45:00 CDT
575    Description:
576    
577    - Aaron: fixed a number of bugs in ml-ulex.
578    - Matthias:
579       - added CM control "cm.force-tools"; this is false by default;
580         when set to true, then tools like ml-yacc, ml-lex, ml-ulex, etc.
581         will be forced to run regardless of whether or not their targets
582         are up-to-date
583       - changed installer code so that config/install.sh will re-build
584         heap images for all tools even if those heap images already existed
585    
586    ----------------------------------------------------------------------
587    Name: Matthias Blume (http://www.tti-c.org/blume/)
588    Date: 2007/06/04 21:21:00 CDT
589    Description:
590    
591    After Aaron Turon's bug fix for ml-ulex (handling the ^ character
592    in legacy mode), re-ran the lexer generator on all lex input files
593    and committed the results.
594    
595    This should fix the problem with ckit and nlffi that was reported
596    by Vesa A. Norrman.
597    
598    ----------------------------------------------------------------------
599    Name: Matthias Blume (http://www.tti-c.org/blume/)
600    Date: 2007/05/31 11:40:00 CDT
601    Tag: release-110.64
602    Description:
603    
604    Version 110.64. NEW BOOTFILES!
605    
606    ----------------------------------------------------------------------
607    Name: Dave MacQueen (dbm@cs.uchicago.edu)
608    Date: 2007/05/31 14:55:00 CDT
609    Revision: 2650
610    Description:
611    
612    3rd merge of base from primop-branch-3 into the trunk.
613    Additional bug fixes included:
614    
615     * Timer.cpu_timer, etc. type printing corrected (by making
616         Timer have opaque sig constraint in basis/Implementation/timer.sml)
617     * Infinite loop in FLINT (tests/typing/tests/25.sml) (fix by
618         Stefan Monnier)
619    
620    ----------------------------------------------------------------------
621    Name: Matthias Blume (http://www.tti-c.org/blume/)
622    Date: 2007/05/31 11:40:00 CDT
623    Description:
624    
625    Fixed some bugs in new Div code in FLINT/trans/translate.sml.
626    
627    Also, changed the handling of "no core access":  When translate.sml
628    needs access to a core exception at a time when the core has not
629    been set up yet (this only happens when compiling system/smlnj/init/*),
630    then don't bother generating the corresponding tests.
631    
632    The old scheme was to generate a bogus value to be used in place of
633    the exception.  Unfortunately, that confuses the plambda type checker.
634    Moreover, it does not do any good, because at runtime we don't expect
635    such an exception to be ever raised.  (The code in system/smlnj/init/*
636    has to be written very carefully with this in mind!)
637    
638    ----------------------------------------------------------------------
639    Name: Mike Rainey (http://www.cs.uchicago.edu/~mrainey)
640    Date: 2007/05/29
641    Description:
642    
643    Added FSQRT instructions for the AMD64 code generator.
644    
645    ----------------------------------------------------------------------
646    Name: Matthias Blume (http://www.tti-c.org/blume/)
647    Date: 2007/05/29 19:00:00 CDT
648    Description:
649    
650    FLINT/trans/translate.sml now wraps all DIV/MOD/QUOT/REM operations
651    with an explicit test for zero division.  This should fixes several
652    regressions and makes it possible for downstream optimization phases
653    to treat these operations as "pure" when they are applied to unsigned
654    operands.
655    
656    ----------------------------------------------------------------------
657    Name: Mike Rainey (http://www.cs.uchicago.edu/~mrainey)
658    Date: 2007/05/29
659    Description:
660    
661    Added the new MLRISC code generator for the AMD64.  This version,
662    in contrast to the previous one, uses SSE registers and instructions
663    for all floating-point computations.
664    
665    ----------------------------------------------------------------------
666    Name: John Reppy (http://www.cs.uchicago.edu/~jhr)
667    Date: 2007/05/29
668    Description:
669    
670    A number of fixes related to the formatting of dates.  These include fixes
671    for bugs #1415 and #1416.  We also now correctly handle format characters that
672    lie outside the specified set.
673    
674    ----------------------------------------------------------------------
675    Name: Matthias Blume (http://www.tti-c.org/blume/)
676    Date: 2007/05/23 22:30:00 CDT
677    Description:
678    
679    CMB (and CM) now automatically defines the CM "preprocessor" symbol
680    NO_PLUGINS during "makeml -rebuild" or when CM operates in "slave" mode.
681    
682      (In addition, CMB_REBUILD_MODE is defined for makeml -rebuild,
683       CM_SLAVE_MODE is defined in attached slaves while running CM.make
684       or CM.rebuild, and CMB_SLAVE_MODE is defined in attached slaves
685       while running CMB.make.  The point is that the single symbol
686       NO_PLUGINS is definde in all three cases.)
687    
688    I changed the three locations within the sources that get compiled
689    during CMB.make where ml-yacc or ml-lex input is processed: When
690    NO_PLUGINS defined, then the use of the mlyacc and mllex tools
691    is bypassed.
692    
693    When bootstrapping new versions of the compiler, there can be
694    situations where the plugin tools for ml-yacc and ml-lex (or ml-ulex)
695    are not available or otherwise not operational.  In this case one can
696    manually define the NO_PLUGINS symbol prior to running CMB.make().  To
697    do so, the following command should be issued at the interactive
698    prompt:
699    
700       #set (CMB.symval "NO_PLUGINS") (SOME 1);
701    
702    A CMB.make with NO_PLUGINS defined relies on the existence of the
703    files that normally would be generated by ml-yacc and ml-lex.
704    (Copies of these files are in the repository.)
705    
706    ----------------------------------------------------------------------
707    Name: David MacQueen (dbm@cs.uchicago.edu)
708    Date: 2007/5/23 17:23:00 CDT
709    Revision: 2603
710    Description:
711    
712    2nd merge of base from primop-branch-3 into the trunk.
713    Additional bug fixes included:
714     Date.scan and Date.fromString fixed;
715     Overloading resolution fixed and some type printing problems corrected.
716    
717    ----------------------------------------------------------------------
718    Name: Matthias Blume (http://www.tti-c.org/blume/)
719    Date: 2007/05/23 09:50:00 CDT
720    Description:
721    
722    Changed the installation mechanism for CM tool plugins.  These are
723    just libaries and now get installed like ordinary libaries.
724    
725    There are now a number of new installation targets that give some
726    fine-grain control over what classes and suffixes are known, and what
727    they will map to.
728    See config/targets for details.
729    
730    The code that caused plugin installation as part of running a
731    tool's "build" script has been removed.  (The build script is for
732    building, not for installing.)
733    
734    ----------------------------------------------------------------------
735    Name: Matthias Blume (http://www.tti-c.org/blume/)
736    Date: 2007/05/22 11:50:00 CDT
737    Description:
738    
739    Added a boolean control named cm.tolerate-tool-failures (env. variable
740    name: CM_TOLERATE_TOOL_FAILURES).  The default is false and makes
741    CM fail if a shell tool reports a non-success exit status.  If
742    the control is set to true, then CM will press on after tool failures
743    in the event that the target files exist (even though they are
744    considered outdated).  Turning the control to true can be useful for
745    bootstrapping.
746    
747    ----------------------------------------------------------------------
748    Name: Aaron Turon (http://www.cs.uchicago.edu/~adrassi)
749    Date: 2007/05/19
750    Description:
751    
752    Merge of ml-lpt revisions for 110.64.
753    
754    The name of several ml-lpt-lib modules has changed:
755      Repair        => AntlrRepair
756      StreamPos     => AntlrStreamPos
757      ErrHandlerFn  => AntlrErrHandler
758      EBNF          => AntlrEBNF
759    
760    The ml-antlr specification format has changed: declarations such as
761    %tokens and nonterminal definitions can occur *multiple* times in the
762    same specification.  The semantics are such that each new declaration
763    extends the previous ones.  This does not apply to %start or %name,
764    of course.
765    
766    Importing a grammar via %import now includes *all* declarations in from
767    the imported grammar, except for %name, %entry, and %start.  Tokens
768    and nonterminals can be dropped using the new %dropping clause of the
769    %import directive; the separate %drop and %extend have been removed.
770    
771    We now allow optional type annotations on nonterminals, using the %nonterms
772    directive as in ml-yacc.
773    
774    The refcell construct is now implemented using SML's regular reference
775    cells, so the :== and !! notation has been deprecated.
776    
777    The ml-antlr tool now does much more checking of specifications, and
778    its error messages have been greatly improved.  Error repair for
779    generated parsers has been completely rewritten, and is now both
780    much faster and more accurate.
781    
782    ml-ulex is now more lenient with escape codes (non-SML-standard
783    escape codes are now interpreted literally, so e.g. \| denotes "|").
784    Also, character classes may now include a "-" character at the beginning
785    as is standard in most other regexp tools.
786    
787    All of these changes are documented in the user guide, which has
788    been updated and improved with this merge.
789    
790    ----------------------------------------------------------------------
791    Name: David MacQueen (http://www.cs.uchicago.edu/~jhr)
792    Date: 2007/05/03
793    Revision: r2492
794    Description:
795    
796    Merge of the primop3 branch (base) into the trunk to create 110.63.1.
797    Significant changes in FLINT and the front end, mostly having to do
798    with a reorganized system for handling primops.  Various bug fixes
799    and improvements in printing signatures.
800    
801    ----------------------------------------------------------------------
802    Name: Aaron Turon (http://www.cs.uchicago.edu/~adrassi)
803    Date: 2007/05/02
804    Description:
805    
806    Preliminary commit of large ml-lpt revisions (more to come for 110.64).
807    The ml-antlr specification format has changed: declarations such as
808    %tokens and nonterminal definitions can occur *multiple* times in the
809    same specification.  The semantics are such that each new declaration
810    extends the previous ones.  Grammar extension constructs have also
811    changed.  We now allow type annotations on nonterminals.  Finally,
812    the refcell construct is now implemented using SML's regular reference
813    cells, so the :== and !! notation has been deprecated.  All of these
814    changes will appear in the 110.64 user guide for ml-lpt.
815    
816    The ml-antlr tool now does much more checking of specifications, and
817    its error messages have been greatly improved.  There has also been
818    some work on the error repair process for generated parsers, but this
819    will be further improved in 110.64.
820    
821    ----------------------------------------------------------------------
822    Name: John Reppy (http://www.cs.uchicago.edu/~jhr)
823    Date: 2007/04/24
824    Description:
825    
826    More Basis fixes: The Char.fromString (etc.) functions did not handle
827    the "\uxxxx" escape sequence.  There is still an outstanding bug with
828    String.fromString the tail is a format escape.  I added a comment to
829    this effect in Basis/Implementation/string.sml.
830    Thanks to Andreas Rossberg.
831    
832    ----------------------------------------------------------------------
833    Name: John Reppy (http://www.cs.uchicago.edu/~jhr)
834    Date: 2007/04/24
835    Description:
836    
837    Added next function to Fifo and Queue modules in the SML/NJ Library.
838    
839    ----------------------------------------------------------------------
840    Name: John Reppy (http://www.cs.uchicago.edu/~jhr)
841    Date: 2007/04/23
842    Description:
843    
844    More Basis fixes: Time.fmt dropped the leading "~" for negative time
845    values that had no whole part.
846    
847    ----------------------------------------------------------------------
848    Name: John Reppy (http://www.cs.uchicago.edu/~jhr)
849    Date: 2007/04/23
850    Description:
851    
852    More Basis fixes: the OS.Path module did not include the InvalidArc
853    exception and did not do sufficient argument checking.
854    Thanks to Stephen Weeks and Adam Chilpala.
855    
856    ----------------------------------------------------------------------
857    Name: Mike Rainey (http://www.cs.uchicago.edu/~mrainey)
858    Date: 2007/04/16
859    Description:
860    
861    Fixed an unbound functor bug in the AMD64 CM file.
862    
863    ----------------------------------------------------------------------
864    Name: Mike Rainey (http://www.cs.uchicago.edu/~mrainey)
865    Date: 2007/04/12
866    Description:
867    
868    Substantially changed the signature and implementation of AMD64
869    SVID.  It now looks similar to the ia32 SVID, yet uses staged
870    allocation.
871    
872    ----------------------------------------------------------------------
873    Name: John Reppy (http://www.cs.uchicago.edu/~jhr)
874    Date: 2007/04/07
875    Description:
876    
877    More Basis fixes: the WORD signature was missing {to,from}Large.
878    Thanks to Andreas Rossberg.
879    
880    ----------------------------------------------------------------------
881    Name: Matthias Blume (http://www.tti-c.org/blume/)
882    Date: 2007/03/22 16:07:00 CDT
883    Tag: release-110.63
884    Description:
885    
886    Bumped version number to 110.63.
887    
888       !!!NEW BOOTFILES!!!
889    
890    ----------------------------------------------------------------------
891    Name: Mike Rainey (http://www.cs.uchicago.edu/~mrainey)
892    Date: 2007/03/19
893    Description:
894    
895    Fixed bogus operand sizes in AMD64 instruction spilling.
896    
897    ----------------------------------------------------------------------
898    Name: John Reppy (http://www.cs.uchicago.edu/~jhr)
899    Date: 2007/03/19
900    Description:
901    
902    Fixed a number of inconsistencies between the Posix.TTY structure
903    and the Basis specification.  Thanks to Adam Chilpala.
904    
905    ----------------------------------------------------------------------
906    Name: Mike Rainey (http://www.cs.uchicago.edu/~mrainey)
907    Date: 2007/02/26
908    Description:
909    
910    Added preliminary support in MLRISC for Staged Allocation, a technique
911    for specifying calling conventions (see
912    http://www.eecs.harvard.edu/~nr/pubs/staged-abstract.html).
913    Initially, we plan to use this code to generate C calls for the AMD64.
914    
915    The staged allocation code base resides in MLRISC/staged-allocation,
916    and specialized calling conventions go in MLRISC/ARCH/staged-allocation.
917    
918    ----------------------------------------------------------------------
919    Name: John Reppy (http://www.cs.uchicago.edu/~jhr)
920    Date: 2007/02/20
921    Description:
922    
923      Bug fix: when SaveCState was called with two values to save, a subsequent
924      GC could cause the RestoreCState to fail because the saved state had been
925      promoted to tagless pair.
926    
927    ----------------------------------------------------------------------
928    Name: Allen Leung (leunga (at) reservoir (dot) com)
929    Date: 2007/02/20 19:08:00 EST
930    Description:
931    
932        Bug triggered by:
933    
934        val a1 = Word8Array.array(a1, 0w0);
935        val _  = Word8Array.update(a1, 0, 0w128);
936    
937        x86MCEmitter crashed when the immediate operand to MOVB was outside
938    of the range -128 ... 127.  I've changed the code so that the range
939    check is disabled.   Only the low order 8 bits of the immediate operand
940    are now significant.
941    
942    
943    ----------------------------------------------------------------------
944    Name: Matthias Blume (http://www.tti-c.org/blume/)
945    Date: 2007/02/15 09:20:00 CST
946    Description:
947    
948    Eliminated any mention of lexgen.  (Lexgen was an early precursor
949    to ml-ulex.)
950    
951    You should update your admin directory, so the shell scripts for
952    maintaining your local copy of the repository reflect this change.
953    
954    ----------------------------------------------------------------------
955    Name: Matthias Blume (http://www.tti-c.org/blume/)
956    Date: 2007/02/14 15:45:00 CST
957    Description:
958    
959    Fixed bug in CM's parallel make facility that failed to have
960    the master re-link modules after letting slaves compile them.
961    
962    ----------------------------------------------------------------------
963    Name: Matthias Blume (http://www.tti-c.org/blume/)
964    Date: 2007/02/12 15:10:00 CST
965    Description:
966    
967    Fixed typo in ml-build script that prevented library anchors
968    from being registered.
969    
970    ----------------------------------------------------------------------
971    Name: Matthias Blume (http://www.tti-c.org/blume/)
972    Date: 2007/02/02 15:20:00 CST
973    Tag: release-110.62
974    Description:
975    
976    New working release (110.62).  NEW BOOTFILES!
977    
978    ----------------------------------------------------------------------
979    Name: Aaron Turon (http://www.cs.uchicago.edu/~adrassi)
980    Date: 2007/01/31
981    Description:
982    
983    Brought ml-lpt manual up-to-date with the code.  Many minor
984    improvements to the tools, and a few minor bugfixes.  Prepared
985    ml-lpt-lib for integration with new UTF8 structure.  Changed
986    the interface for creating streams in ml-ulex (we now support
987    stream creation from several kinds of sources).  Overall, the
988    tools are now quite stable, and their interfaces are unlikely to
989    change in a way that would break compatibility.  More work,
990    however, is needed in the documentation.
991    
992    ----------------------------------------------------------------------
993    Name: Matthias Blume (http://www.tti-c.org/blume/)
994    Date: 2007/02/01 10:05:00 CST
995    Description:
996    
997    Implemented library installer.  Moved CM plugin code for
998    ml-burg, ml-lex, and ml-yacc out of CM source tree and into
999    their respective trees.  Implemented CM plugin for ml-ulex
1000    and ml-antlr.  Used library installer for ml-burg, ml-ulex,
1001    and ml-antlr.
1002    
1003    For ml-yacc and ml-lex we continue to have permanently "plugged-in"
1004    CM tools.  (It turns out to be too messy to do otherwise because
1005    there is too much code that during installation relies on the presence
1006    of these tools -- resulting in a tricky ordering problem.)
1007    
1008    ----------------------------------------------------------------------
1009    Name: Matthias Blume (http://www.tti-c.org/blume/)
1010    Date: 2007/01/30 11:05:00 CST
1011    Description:
1012    
1013    Added SMLofNJ.shiftArgs which is like a shell's "shift" command.
1014    Modified CM's startup code to use shiftArgs as it processes
1015    command line arguments.  This way, the init code in each .sml-file
1016    or library that is mentioned at the top level will see only
1017    those arguments that have not yet been processed at this point.
1018    In other words, the init code can "seize control" and process the
1019    remaining command line.
1020    
1021    ----------------------------------------------------------------------
1022    Name: John Reppy (http://www.cs.uchicago.edu/~jhr)
1023    Date: 2007/01/30
1024    Description:
1025    
1026    Added fromList function to the ORD_SET interface and lookup to the
1027    ORD_MAP interface.  See the SML/NJ Library CHANGES file for details.
1028    
1029    ----------------------------------------------------------------------
1030    Name: John Reppy (http://www.cs.uchicago.edu/~jhr)
1031    Date: 2007/01/28
1032    Description:
1033    
1034    Added the UTF8 structure and signature from the Moby compiler to
1035    the SML/NJ library (and the CML library).  These modules will replace
1036    the version in the ml-lpt-lib.
1037    
1038    ----------------------------------------------------------------------
1039    Name: Matthias Blume (http://www.tti-c.org/blume/)
1040    Date: 2007/01/26 15:10:00 CST
1041    Description:
1042    
1043    Added entries to handle ml-lpt-lib.cm in installer.
1044    
1045    ----------------------------------------------------------------------
1046    Name: Matthias Blume (http://www.tti-c.org/blume/)
1047    Date: 2006/12/15 11:10:00 CST
1048    Tag: release-110.61
1049    Description:
1050    
1051    New working release (110.61).  NEW BOOTFILES!
1052    
1053    This supersedes the pre-brown-paper-bug release (see below).
1054    
1055    ----------------------------------------------------------------------
1056    Name: Matthias Blume (http://www.tti-c.org/blume/)
1057    Date: 2006/12/15 11:00:00 CST
1058    Description:
1059    
1060    Fixed brown-paper-bag bug with CM's pathname handling, which made
1061    installation fail under Win32.
1062    
1063    ----------------------------------------------------------------------
1064    Name: Matthias Blume (http://www.tti-c.org/blume/)
1065    Date: 2006/12/14 12:00:00 CST
1066    Description:
1067    
1068    Obsolete!
1069    
1070    [New working release (110.61).  NEW BOOTFILES!]
1071    
1072    ----------------------------------------------------------------------
1073    Name: John Reppy (http://cs.uchicago.edu/~jhr)
1074    Date: 2006/14/06 09:50:00 CST
1075    Description:
1076    
1077    Fixed the code in runtime/c-libs/posix-tty/{tcgetattr,tcsetattr}.c to
1078    get the c_cc termios data copied correctly.  Also moved the allocation
1079    of the string to avoid problems if it caused a GC.
1080    
1081    Thanks to Timothy Bourke for the bug report and fix.
1082    
1083    ----------------------------------------------------------------------
1084    Name: Matthias Blume (http://www.tti-c.org/blume)
1085    Date: 2006/12/08 09:50:00 CST
1086    Description:
1087    
1088    Added code to CM's "standard shell tool" implementation which
1089    causes it to tolerate (with a warning) the situation where the shell
1090    command fails (e.g., due to the shell command's non-existence)
1091    as long as all target files exist.
1092    
1093    This makes it possible to, e.g., build ml-yacc from sources even if
1094    svn checkout messed up the time stamps on files in such a way that
1095    yacc.grm is younger than yacc.grm.sml or yacc.grm.sig.  (Ml-yacc would
1096    be needed to re-process yacc.grm, but obviously it might not yet be
1097    available at that time.)
1098    
1099    ----------------------------------------------------------------------
1100    Name: John Reppy (http://cs.uchicago.edu/~jhr)
1101    Date: 2006/12/06 12:06:00 CST
1102    Description:
1103    
1104    Fixed the types of recvVecFrom, recvVecFrom', recvVecFromNB, and
1105    recvVecFromNB' in the SOCKET signature.  This error is actually
1106    in the SML Basis specification too.
1107    
1108    ----------------------------------------------------------------------
1109    Name: Matthias Blume (http://www.tti-c.org/blume/)
1110    Date: 2006/12/05 22:40:00 CST
1111    Description:
1112    
1113    CM now reports undefined anchors as errors and aborts execution
1114    rather than silently pressing on using bogus values.
1115    
1116    ----------------------------------------------------------------------
1117    Name: Matthias Blume (http://www.tti-c.org/blume/)
1118    Date: 2006/11/29 10:00:00 CST
1119    Description:
1120    
1121    Use Say.vsay for printing the "[autoloading]" message, so
1122    #set CM.Control.verbose false (or -Ccm.verbose=false) can be used
1123    to suppress them.
1124    
1125    ----------------------------------------------------------------------
1126    Name: Matthias Blume (http://www.tti-c.org/blume/)
1127    Date: 2006/11/10 11:00:00 CST
1128    Description:
1129    
1130    Fixed bug in CM where "with:" specifications that affect compilation
1131    (as opposed to parsing) were ignored.
1132    
1133    ----------------------------------------------------------------------
1134    Name: Matthias Blume (http://www.tti-c.org/blume/)
1135    Date: 2006/11/09 14:30:00 CST
1136    Tag: release-110.60
1137    Description:
1138    
1139    New working release (110.60).  NEW BOOTFILES!
1140    
1141    This is the first subversion-hosted release.  There are also changes
1142    to the directory layout.  Here is a table:
1143    
1144    (All pathnames are relative to the SML/NJ "root" directory.)
1145    
1146      config -> config
1147    
1148      src/cm -> base/cm
1149      src/compiler -> base/compiler
1150      src/runtime -> base/runtime
1151      src/system -> base/system
1152    
1153      src/cm/pgraph -> pgraph
1154    
1155      src/READMES -> base/READMES
1156      src/$notefile -> base/NOTES/$notefile
1157         for <notefile> in BOOT CVSNOTES CYGWININSTALL HISTORY INSTALL
1158                           MACOSXINSTALL WININSTALL
1159    
1160      src/smlnj-lib -> smlnj-lib
1161      src/MLRISC -> MLRISC
1162      ckit -> ckit
1163      src/cml -> cml
1164      src/eXene -> eXene
1165      src/heap2asm -> heap2asm
1166      src/lexgen -> lexgen
1167      src/ml-burg -> ml-burg
1168      src/ml-lex -> ml-lex
1169      src/ml-yacc -> ml-yacc
1170      src/ml-nlffi-lib -> nlffi/lib
1171      src/ml-nlffigen -> nlffi/gen
1172      src/smlnj-c -> smlnj-c
1173      src/tools/TraceDebugProf -> trace-debug-profile
1174    
1175    In addition, there is also a new
1176    
1177      ml-lpt
1178    
1179    directory containing two new program generator tools: ml-ulex and
1180    ml-antlr (a lexer generator that handles unicode and an ANTRL-inspired
1181    LL(k) parser generator). These tools are currently "beta-quality"
1182    
1183    The latest versios of the sources can now be obtained anonymously
1184    via subversion.  For this, it is useful to first check out
1185    
1186       svn://smlnj-gforge.cs.uchicago.edu/smlnj/admin
1187    
1188    and put the resulting directory on your shell's PATH.  This provides
1189    access to three shell scripts: checkout-all.sh, stat-all.sh,
1190    and refresh-all.sh.
1191    
1192    To create a freshly checked-out copy of the sources, do
1193    
1194       checkout-all.sh [dir]
1195    
1196    where dir is the optional SML/NJ root directory (default is ".").
1197    
1198    This creates the above directory layout.  Each subdirectory of
1199    the root is under individual subversion control.  The stat-all.sh
1200    and refresh-al.sh scripts apply "svn stat" or "svn update" to
1201    each of these subtrees.
1202    
1203    ----------------------------------------------------------------------
1204    Name: Matthias Blume (http://www.tti-c.org/blume/)
1205    Date: 2006/11/02 12:20:00 CST
1206    Description:
1207    
1208    Reorganized directory layout.
1209    
1210    This is a temporary solution, more reorganization is to come.
1211    
1212    The basic idea is to have a number of toplevel trees, each corresponding
1213    to a well-defined part of the overall system.  Each part can be
1214    maintained individually, even in separate source repositories,
1215    although currently we still serve everything out of the main
1216    smlnj-gforge tree.
1217    
1218    Installer and and scripts have been updated to reflect the new
1219    layout.  The installer (base/src/system/smlnj/installer) is now
1220    "scriptable" to avoid burning too much knowledge about the
1221    layout into SML source code.  The main script used by the installer
1222    is in config/actions.
1223    
1224    The main change is that many of the subdirectories of what used to
1225    be known as "src" have moved to the toplevel.  The "src" directory
1226    itself has moved down into a subtree called "base".  (We may eventually
1227    get rid of the extra level of indirection represented by "src".)
1228    
1229    The layout is now as follows:
1230    
1231      toplevel tree name | default repository
1232                         | (using gf=svn://smlnj-gforge.cs.uchicago.edu/smlnj)
1233      -------------------+----------------------------------------------------
1234      config             | $gf/config/trunk
1235                         |
1236      base               | $gf/sml/trunk
1237                         |
1238      smlnj-lib          | $gf/smlnj-lib/trunk
1239      MLRISC             | $gf/MLRISC/trunk
1240                         |
1241      ml-yacc            | $gf/ml-yacc/trunk
1242      ml-lex             | $gf/ml-lex/trunk
1243      ml-burg            | $gf/ml-burg/trunk
1244      lexgen             | $gf/lexgen/trunk
1245      heap2asm           | $gf/heap2asm/trunk
1246                         |
1247      cml                | $gf/cml/trunk
1248      eXene              | $gf/eXene/trunk
1249      ckit               | $gf/ckit/trunk
1250      nlffi              | $gf/nlffi/trunk
1251                         |
1252      smlnj-c            | $gf/smlnj-c/trunk
1253    
1254    In $gf/admin there are a few useful shell scripts for checking out
1255    and maintaining the entire collection of trees:
1256    
1257       admin/checkout-all.sh [dir]
1258          -- optionally creates dir and checks out all trees from their
1259             default repositories; if dir is missing, checkout into .
1260       admin/refresh-all.sh [dir]
1261          -- looks at all trees (from the above list) in dir (default: .)
1262             and runs "svn update" if the tree exists and is under
1263             subversion control;
1264             non-existing or non-subversion trees are skipped
1265       admin/stat-all.sh [dir]
1266          -- like refresh-all.sh, but runs "svn stat" instead
1267    
1268    ----------------------------------------------------------------------
1269    Name: Matthias Blume (http://www.tti-c.org/blume/)
1270    Date: 2006/10/05 11:30:00 CDT
1271    Tag: blume-20061005-merge-amd64
1272    Description:
1273    
1274    Merged code for AMD64 backend (Mike Rainey's work).
1275    Everything is hooked up but untested.
1276    
1277    ----------------------------------------------------------------------
1278    Name: Matthias Blume (http://www.tti-c.org/blume/)
1279    Date: 2006/05/17 14:00:00 CST
1280    Tag: Release_110_59
1281    Description:
1282    
1283    New working version (110.59).  NEW BOOTFILES!
1284    
1285    I am freezing 110.59.  Changes other than the version-number increase:
1286    
1287      eXene:
1288    
1289         * committed changes to eXene from Alley Stoughton:
1290             "fixed bugs in X authorization and resource handling, as well
1291              as in the pile and viewport widgets"
1292    
1293      Runtime:
1294        * fixed linking problem with NetBSD 3.x.
1295    
1296      Lexgen:
1297        * lexgen tool handles non-ascii characters in 7-bit mode the same
1298          way that ml-lex does
1299    
1300        * lexgen propagates exceptions the same way that ml-lex does
1301    
1302      CML:
1303        * Fixed a bug in the SyncVar polling functions (iGetPoll,
1304          mTakePoll, and mGetPoll) that could lead to livelock.
1305    
1306    ----------------------------------------------------------------------
1307    Name: Matthias Blume (http://www.tti-c.org/blume/)
1308    Date: 2006/05/12 15:20:00 CST
1309    Tag: blume-20060515-makedepend
1310    Description:
1311    
1312    Implemented ml-makedepend (i.e., CM.sources) in a better (more robust)
1313    way.  This should hopefully fix the ml-makedepend problem permanently.
1314    
1315    ----------------------------------------------------------------------
1316    Name: Matthias Blume (http://www.tti-c.org/blume/)
1317    Date: 2006/05/12 15:15:00 CST
1318    Tag: blume-20060512-makedepend
1319    Description:
1320    
1321    Fixed long-standing bug with ml-makedepend where it would output a
1322    spurious dependency to a non-existing file.  (This is a simple fix.
1323    It might need further looking into.)
1324    
1325    ----------------------------------------------------------------------
1326    Name: Matthias Blume (http://www.tti-c.org/blume/)
1327    Date: 2006/04/20 10:30:00 CDT
1328    Tag: blume-20060420-heap2exec
1329    Description:
1330    
1331    Committed patches received from Johannes 5 Joemann (joemann@befree.free.de)
1332    that enable heap2exec under Linux and FreeBSD.
1333    
1334    ----------------------------------------------------------------------
1335    Name: John Reppy
1336    Date: 2006/04/14
1337    Tag:
1338    Description:
1339    
1340    MLRISC changes:
1341      1) renamed GAS_PSEUDO_OPS to AS_PSEUDO_OPS and put it in its own file.
1342      2) added support for NOTB and XORB operators in pseudo-op expressions
1343      3) added DarwinPseudoOp functor that supports Darwin's assembler syntax.
1344      4) added support for 64-bit integer literals
1345    
1346    ----------------------------------------------------------------------
1347    Name: Matthias Blume (http://www.tti-c.org/blume/)
1348  Date: yyyy/mm/dd  Date: yyyy/mm/dd
1349  Tag: <post-commit CVS tag>  Tag: Release_110_58
1350    Description:
1351    
1352    New working version (110.58).  NEW BOOTFILES!
1353    
1354    ----------------------------------------------------------------------
1355    Name: Matthias Blume (http://www.tti-c.org/blume/)
1356    Date: 2006/03/01 22:15:00 CST
1357    Tag: blume-20060301-lexgen
1358    Description:
1359    
1360    Incorporated several bugfixes to lexgen.  Compiler now compiles to
1361    fixpoint when using lexgen instead of ml-lex.
1362    
1363    ----------------------------------------------------------------------
1364    Name: Matthias Blume (http://www.tti-c.org/blume/)
1365    Date: 2006/02/28 22:45:00 CST
1366    Tag: blume-20060228-lexgen
1367    Description:
1368    
1369    Removed ml-flex and added lexgen instead, using Aaron Turon's newly
1370    provided tarball.  The generated lexers still have problems.
1371    
1372    ----------------------------------------------------------------------
1373    Name: Matthias Blume (http://www.tti-c.org/blume/)
1374    Date: 2006/02/26 23:30:00 CST
1375    Tag: blume-20060226-ml-flex
1376    Description:
1377    
1378    Removed ml-flex' dependency on regexp-lib.cm.  Turned installation
1379    of ml-flex on by default.
1380    
1381    ----------------------------------------------------------------------
1382    Name: Matthias Blume (http://www.tti-c.org/blume/)
1383    Date: 2006/02/24 16:30:00 CST
1384    Tag: blume-20060224-ml-flex
1385    Description:
1386    
1387    Added ml-flex sources.  Partially integrated, but should not be
1388    turned on yet!  (Read: leave it commented-out in config/targets!)
1389    
1390    ----------------------------------------------------------------------
1391    Name: John Reppy (http://www.cs.uchicago.edu/~jhr)
1392    Date: 2006/02/23
1393    Tag: jhr-20060223-x86-64
1394    Description:
1395    Changes to support building on x86-64 systems (using the 32-bit mode).
1396    Also cleaned up signal handling on Linux.  Support for pre-2.2 Linux
1397    kernels dropped.
1398    
1399    ----------------------------------------------------------------------
1400    Name: Allen Leung (leunga (at) reservoir (dot) com)
1401    Date: 2006/02/22 15:07:00 EST
1402    Tag: leunga-20060222-mdl-gen
1403    Description:
1404    
1405      CM has changed.  Updated the script for rebuilding the MLRISC generated
1406    files.
1407    
1408    ----------------------------------------------------------------------
1409    Name: Matthias Blume (http://www.tti-c.org/blume/)
1410    Date: 2006/02/14 17:30:00 CST
1411    Tag: blume-20060214-intel-mac
1412    Description:
1413    
1414    Hooked code for Darwin-specific Intel ABI into main compiler.
1415    (This is a temporary solution which relies on the fact that the
1416    compiler itself does not use NLFFI.  Eventually we need to divorce
1417    intel mac from generic x86 unix code and make separate sets of binaries.)
1418    
1419    ----------------------------------------------------------------------
1420    Name: John Reppy (http://www.cs.uchicago.edu/~jhr)
1421    Date: 2006/02/13
1422    Tag: jhr-20060213-intel-mac
1423    Description:
1424    Changed MLRISC x86 CCalls for partial support of MacOS X ABI.
1425    
1426    ----------------------------------------------------------------------
1427    Name: John Reppy (http://www.cs.uchicago.edu/~jhr)
1428    Date: 2006/02/06
1429    Tag: jhr-20060206-intel-mac
1430    Description:
1431    Changes to support MacOS X on Intel hardware.  The C-calls support in
1432    MLRISC must also be updated to support the MacOS X ABI.
1433    
1434    ----------------------------------------------------------------------
1435    Name: Matthias Blume (http://www.tti-c.org/blume/)
1436    Date: 2005/12/16 00:15:00 CST
1437    Tag: blume-20051216-cm
1438    Description:
1439    
1440    Improved error reporting and handling in CM.
1441    
1442    ----------------------------------------------------------------------
1443    Name: Matthias Blume (http://www.tti-c.org/blume/)
1444    Date: 2005/11/21 14:00:00 CST
1445    Tag: blume-20051121-html-lib
1446    Description:
1447    
1448    Enabling $/html-lib.cm in config/preloads did not work.  This is fixed
1449    now.  (Since the anchor mapping for html-lib.cm is not yet in effect
1450    at the time when config/preloads is processed, the library has to
1451    be referred to by another name.  In 110.57 this would be
1452    $SMLNJ-LIB/HTML/html-lib.cm.  I arranged for $smlnj/smlnj-lib/html-lib.cm
1453    to be valid as well.)
1454    
1455    Thanks to Todd Wilson (Fresno) for alerting me to this issue.
1456    
1457    ----------------------------------------------------------------------
1458    Name: Matthias Blume (http://www.tti-c.org/blume/)
1459    Date: 2005/11/19 13:45:00 CST
1460    Tag: Release_110_57
1461    Description:
1462    
1463    Moved release tag for 110.57.
1464    
1465    ----------------------------------------------------------------------
1466    Name: Matthias Blume (http://www.tti-c.org/blume/)
1467    Date: 2005/11/19 23:35:00 CST
1468    Tag: blume-20051119-fish
1469    Description:
1470    
1471    Fixed a problem in config/install.sh where it tries to "fish" the
1472    name of the CM metadata directory from the wrong place (because
1473    the physical location of basis.cm has changed).  Also, corrected the
1474    path anchor for $/html-lib.cm.  (Thanks to M. Fluet for pointing out
1475    these problems.)
1476    
1477    ----------------------------------------------------------------------
1478    Name: Matthias Blume (http://www.tti-c.org/blume/)
1479    Date: 2005/11/16 14:30:00 CST
1480    Tag: blume-orig-110_57
1481    Description:
1482    
1483    New working version (110.57).  NEW BOOTFILES!
1484    
1485    UPDATE: The release tag has been moved to include a fix for a brown-paper-
1486            bag glitch (see above).
1487    
1488    ----------------------------------------------------------------------
1489    Name: Matthias Blume (http://www.tti-c.org/blume/)
1490    Date: 2005/11/16 10:25:00 CST
1491    Tag: blume-22051116-btrace
1492    Description:
1493    
1494    Fixed problem with bogus exception message when using back-trace
1495    facility.
1496    
1497    ----------------------------------------------------------------------
1498    Name: Matthias Blume (http://www.tti-c.org/blume/)
1499    Date: 2005/11/15 22:35:00 CST
1500    Tag: blume-22051115-array2copy
1501    Description:
1502    
1503    Added simple implementation of Array2.copy.  (Warning: mostly untested.)
1504    
1505    ----------------------------------------------------------------------
1506    Name: Matthias Blume (http://www.tti-c.org/blume/)
1507    Date: 2005/11/15 21:35:00 CST
1508    Tag: blume-22051115-versiontool
1509    Description:
1510    
1511    Reversed change to src/system/smlnj/internals/versiontool.cm.  This
1512    file gets loaded as a tool -- by the equivalent of CM.make during the
1513    run of CMB.make.  Thus, CMB's path configuration is meaningless for
1514    it.  Instead, it has the status of "user code", so it should use
1515    $/basis.cm to refer to the Basis library.  (At least that's true for
1516    the purpose of bootstrapping the previous change.  In the future it
1517    might make sense to have versiontool.cm refer to
1518    $smlnj/basis/basis.cm, i.e., the version of the Basis that the
1519    compiler itself uses.)
1520    
1521    Also patched src/system/testml to have it activate those extra anchor
1522    bindings in config/extrapathconfig.
1523    
1524    ----------------------------------------------------------------------
1525    Name: Matthias Blume (http://www.tti-c.org/blume/)
1526    Date: 2005/11/15 16:35:00 CST
1527    Tag: blume-22051115-libraries
1528    Description:
1529    
1530    This change affects the way the following libraries are tied into
1531    the system:
1532    
1533       $/basis.cm
1534       $/smlnj-lib.cm
1535       $/pp-lib.cm
1536       $/controls-lib.cm
1537       $/html-lib.cm
1538       $/ml-yacc-lib.cm
1539    
1540    These libraries are now internally (as seen from the source code
1541    of the implementation itself) known by the following names:
1542    
1543       $smlnj/basis/basis.cm
1544       $smlnj/smlnj-lib/smlnj-lib.cm
1545       $smlnj/smlnj-lib/pp-lib.cm
1546       $smlnj/smlnj-lib/controls-lib.cm
1547       $smlnj/smlnj-lib/html-lib.cm
1548       $smlnj/ml-yacc/ml-yacc-lib.cm
1549    
1550    This makes it possible to work with code that requires different
1551    versions of these libraries, and which refers to these libraries using
1552    their "default" names (i.e., the first set of names above).  In other
1553    words, one can un-define or re-define those default names without
1554    compromising the proper functioning of the compiler itself.
1555    
1556    A similar procedure had already been performed for several of the
1557    MLRISC libraries that are linked into the compiler.  I did some
1558    cleanup on this code.
1559    
1560    A new file in the config directory (named extrapathconfig) is
1561    responsible for setting up path anchors that the compiler itself does
1562    not need, but that are typically required by user code.
1563    
1564    ----------------------------------------------------------------------
1565    Name: Matthias Blume
1566    Date: 2005/11/07 17:05:00 CST
1567    Tag: blume-20051107-slice
1568    Description:
1569    
1570    Fixed erroneous out-of-bounds test in the "update" function of
1571    various *ArraySlice modules.  (Thanks to Vesa A. Norrman for pointing
1572    out the problem.)
1573    
1574    Pushed some Basis changes through ML-Lex, CML, and eXene.
1575    
1576    ----------------------------------------------------------------------
1577    Name: John Reppy (http://www.cs.uchicago.edu/~jhr)
1578    Date: 2005/11/07
1579    Description:
1580    Fixed a Basis incompatibility: The depreciated function Substring.all
1581    was removed (use Substring.full instead).
1582    
1583    ----------------------------------------------------------------------
1584    Name: John Reppy (http://www.cs.uchicago.edu/~jhr)
1585    Date: 2005/11/05
1586    Description:
1587    Tweaked interval set API in SML/NJ library; see the CHANGES file for details.
1588    
1589    ----------------------------------------------------------------------
1590    Name: Matthias Blume (http://www.tti-c.org/blume/)
1591    Date: 2005/11/02 16:25:00 CST
1592    Tag: blume-20051102-hex
1593    Description:
1594    
1595    * Runtime system bootstrap code now accepts hex digits in BOOTLIST
1596      in either upper case or lower case format.
1597    * Pushed changes to names of Pack<N>{Big,Little} structures through
1598      CML and eXene.
1599    
1600    ----------------------------------------------------------------------
1601    Name: John Reppy (http://www.cs.uchicago.edu/~jhr)
1602    Date: 2005/11/02
1603    Description:
1604    Fixed a Basis incompatibility: Pack<N>{Big,Little} structures should
1605    be called PackWord<N>{Big,Little}.
1606    
1607    ----------------------------------------------------------------------
1608    Name: John Reppy (http://www.cs.uchicago.edu/~jhr)
1609    Date: 2005/10/28
1610    Description:
1611    Fixed a minor Basis incompatibility: hex digits should be upper case.
1612    
1613    ----------------------------------------------------------------------
1614    Name: Matthias Blume (blume (at) tti - c (dot) org)
1615    Date: 2005/10/25 16:00:00 CDT
1616    Tag: Release_110_56
1617    Description:
1618    
1619    New working version (110.56).  NEW BOOTFILES!
1620    
1621    ----------------------------------------------------------------------
1622    Name: John Reppy (http://www.cs.uchicago.edu/~jhr)
1623    Date: 2005/10/25
1624    Description:
1625    Added interval sets to utility library (signatures INTERVAL_DOMAIN
1626    and INTERVAL_SET, and functor IntervalSetFn).
1627    
1628    ----------------------------------------------------------------------
1629    Name: John Reppy (http://www.cs.uchicago.edu/~jhr)
1630    Date: 2005/10/14
1631    Description:
1632    Add Zhong Shao's fix for datatype equality functions.
1633    
1634    ----------------------------------------------------------------------
1635    Name: Allen Leung (leunga (at) reservoir (dot) com)
1636    Date: 2005/10/14 12:30:00 EST
1637    Tag: leunga-20051014-x86-spill
1638    Description:
1639    
1640    Bug fix a bug found by Carl Hauser.
1641    There was a typo in the reload code for FCMP in x86SpillInstr.sml.
1642    
1643    ----------------------------------------------------------------------
1644    Name: Allen Leung (leunga (at) reservoir (dot) com)
1645    Date: 2005/10/14 11:15:00 EST
1646    Tag: leunga-20051014-x86-asm
1647    Description:
1648    
1649    Removed some debugging code in file x86Asm.sml.
1650    The function emit_operand was printing out debugging output.
1651    
1652    ----------------------------------------------------------------------
1653    Name: John Reppy
1654    Date: 2005/07/27
1655    Tag:
1656    Description:
1657    
1658    Fixed ml-lex to recognize "\r" as representing carriage return.
1659    
1660    ----------------------------------------------------------------------
1661    Name: John Reppy
1662    Date: 2005/07/27
1663    Tag:
1664    Description:
1665    
1666    Fixed ml-yacc to work on files with non-native end-of-line
1667    encodings (e.g., Windows text file on a Unix system).
1668    
1669    ----------------------------------------------------------------------
1670    Name: John Reppy
1671    Date: 2005/07/20
1672    Tag:
1673    Description:
1674    
1675    Added changes from Dominic Evans (oldmanuk (at) gmail (dot) com)
1676    to support HPUX 11.
1677    
1678    ----------------------------------------------------------------------
1679    Name: John Reppy
1680    Date: 2005/07/06
1681    Tag:
1682    Description:
1683    
1684    Changes to the SML/NJ library.  See smlnj-lib/CHANGES for details.
1685    
1686    ----------------------------------------------------------------------
1687    Name: Matthias Blume (blume (at) tti - c (dot) org)
1688    Date: 2005/07/06 00:45:00 CDT
1689    Tag: blume-20050706-slice-copy
1690    Description:
1691    
1692    Fixed reversed logic for deciding whether to "copy up" or "copy down"
1693    in *-array-slice.sml.
1694    
1695    ----------------------------------------------------------------------
1696    Name: Allen Leung (leunga (at) reservoir (dot) com)
1697    Date: 2005/05/31 17:00:00 EST
1698    Tag: leunga-20050531-cygwin-fault-2
1699    Description:
1700    
1701    A typo in the cygwin code fixed.
1702    
1703    ----------------------------------------------------------------------
1704    Name: Allen Leung (leunga (at) reservoir (dot) com)
1705    Date: 2005/05/31 16:47:00 EST
1706    Tag: leunga-20050531-cygwin-fault
1707    Description:
1708    
1709    Updated Cygwin's fault/signal handling to match the Windows version.
1710    Updated the export list.
1711    
1712    ----------------------------------------------------------------------
1713    Name: Matthias Blume (blume (at) tti - c (dot) org)
1714    Date: 2005/05/18 13:35:00 CDT
1715    Tag: Release_110_54
1716    Description:
1717    
1718    New working version (110.54).  NEW BOOTFILES!
1719    
1720    ----------------------------------------------------------------------
1721    Name: Matthias Blume (blume (at) tti - c (dot) org)
1722    Date: 2005/05/18 11:58:00 CDT
1723    Tag: blume-20050518-installer
1724    Description:
1725    
1726    Added support scripts for Mac OS X PackageMaker and modified
1727    config/install.sh so that it supports re-dumping a heap image
1728    after customization.
1729    
1730    ----------------------------------------------------------------------
1731    Name: Matthias Blume (blume (at) tti - c (dot) org)
1732    Date: 2005/05/18 10:55:00 CDT
1733    Tag: blume-20050518-realdiv-noovld
1734    Description:
1735    
1736    Un-overloaded / to work around bug in overloading resolution code.
1737    
1738    ----------------------------------------------------------------------
1739    Name: Matthias Blume (blume (at) tti - c (dot) org)
1740    Date: 2005/05/16 23:50:00 CDT
1741    Tag: blume-20050516-redump-heap
1742    Description:
1743    
1744    Added mechanism for re-creating a heap file for the interactive system
1745    after configuration variables have been changed.
1746    
1747       CM.redump_heap : string -> unit
1748    
1749    This is much like SMLofNJ.exportML, but starting from the resulting
1750    heap does not return to the caller of CM.redump_heap but
1751    restarts the interactive system from scratch.  The original call of
1752    CM.redump_heap does not return but ends the interactive session.
1753    Thus, CM.redump_heap is a lot like SMLofNJ.exportFn.
1754    
1755    Internally, redump_heap winds the dynamic execution context back to
1756    the point where the original heap image was created and re-executes
1757    the heap image generation code in the boot code.
1758    
1759    ----------------------------------------------------------------------
1760    Name: Matthias Blume (blume (at) tti - c (dot) org)
1761    Date: 2005/05/09 21:55:00 CDT
1762    Tag: blume-20050509-word64
1763    Description:
1764    
1765    Added a hack to the existing hack known as Word64 to make fromString
1766    behave correctly.  I am still not sure whether Word64.scan will work
1767    as specified with respect to the interaction of radix and prefix.
1768    
1769    ----------------------------------------------------------------------
1770    Name: Allen Leung (leunga (at) reservoir (dot) com)
1771    Date: 2005/05/04 11:50:00 EST
1772    Tag: leunga-20050504-checkgc
1773    Description:
1774    
1775    Added a gc protocol checking phase.  This phase is enabled with
1776    the flag "check-gc".  "debug-check-gc" turns on the verbose mode.
1777    
1778    ----------------------------------------------------------------------
1779    Name: Matthias Blume (blume (at) tti - c (dot) org)
1780    Date: 2005/05/04 10:45:00 CDT
1781    Tag: blume-20050504-intinf
1782    Description:
1783    
1784    Fixed a bug in the implementation of div and mod for IntInf.
1785    Thanks to Neophytos Michael for reporting the problem.
1786    
1787    ----------------------------------------------------------------------
1788    Name: Matthias Blume (blume (at) tti - c (dot) org)
1789    Date: 2005/05/04 10:35:00 CDT
1790    Tag: blume-20050504-join
1791    Description:
1792    
1793    Added a "join" combinator to the ParserComb module in smlnj-lib.cm.
1794    
1795    ----------------------------------------------------------------------
1796    Name: Matthias Blume (blume (at) tti - c (dot) org)
1797    Date: 2005/02/28 23:40:00 CST
1798    Tag: blume-20050228-mVar
1799    Description:
1800    
1801    Fixed serious bug (brown paper bag variety) in new implementation of
1802    structure Atom in CML.  (I had accidentally used a mailbox instead of
1803    an mvar, leaving the door open for races.)
1804    
1805    ----------------------------------------------------------------------
1806    Name: Matthias Blume (blume (at) tti - c (dot) org)
1807    Date: 2005/02/25 15:00:00 CST
1808    Tag: Release_110_53
1809    Description:
1810    
1811    New working version (110.53).  NEW BOOTFILES!
1812    
1813    ----------------------------------------------------------------------
1814    Name: Matthias Blume (blume (at) tti - c (dot) org)
1815    Date: 2005/02/25 14:50:00 CST
1816    Tag: blume-20050225-susp
1817    Description:
1818    
1819    Brought back SMLofNJ.Susp.  The underlying suspension type is the one
1820    implemented in Core -- which means that it is the same as the one used
1821    by the lazy extension.
1822    
1823    ----------------------------------------------------------------------
1824    Name: Matthias Blume (blume (at) tti - c (dot) org)
1825    Date: 2005/02/24 16:50:00 CST
1826    Tag: blume-20050224-cml-atom
1827    Description:
1828    
1829    Simpler and at the same time more general implementation of structure
1830    Atom in CML.
1831    
1832    ----------------------------------------------------------------------
1833    Name: Matthias Blume (blume (at) tti - c (dot) org)
1834    Date: 2005/02/15 17:35:00 CST
1835    Tag: blume-20050215-tools
1836    Description:
1837    
1838    Created new "tools" directory under "src" and moved "TraceDebugProf"
1839    there.
1840    
1841    ----------------------------------------------------------------------
1842    Name: Matthias Blume (blume (at) tti - c (dot) org)
1843    Date: 2005/02/10 17:55:00 CST
1844    Tag: blume-20050210-longlong
1845    Description:
1846    
1847    Implemented "long long" arguments and results for NLFFI.  (Only the
1848    PPC/MacOS implementation is complete, the other backends still need to
1849    be updated.)
1850    
1851    ----------------------------------------------------------------------
1852    Name: Matthias Blume (blume (at) tti - c (dot) org)
1853    Date: 2005/01/24 17:40:00 CST
1854    Tag: blume-20050124-mlyacc
1855    Description:
1856    
1857    Minor cleanup in ML-Yacc rule printing mechanism.  This should fix a
1858    problem with certain "as" patterns which previously got rendered
1859    using incorrect syntax.
1860    
1861    ----------------------------------------------------------------------
1862    Name: Matthias Blume (blume (at) tti - c (dot) org)
1863    Date: 2005/01/18 12:00:00 CST
1864    Tag: blume-20050118-profile
1865    Description:
1866    
1867    Made time profiling code (interrupt handler) in runtime system aware
1868    of new array representation.
1869    
1870    ----------------------------------------------------------------------
1871    Name: Matthias Blume (blume (at) tti - c (dot) org)
1872    Date: 2005/01/14 18:00:00 CST
1873    Tag: blume-20050114-heap2exec
1874    Description:
1875    
1876    Implemented new (but still experimental) heap2exec facility.  This is
1877    tested under Mac OS X and should work under Linux (will test shortly).
1878    It will probably also work on the Sparc (will test some time later).
1879    
1880      - removed old "HACKED_STANDALONE" hack from runtime
1881    
1882    To be able to test this, uncomment the request for "heap2asm" in
1883    config/targets prior to installation.  (Notice that this is different
1884    from "heap2exec" mentioned below.  Not a typo.)
1885    
1886    To perform an actual test, run the command
1887    
1888       $ bin/heap2exec heapfile execfile
1889    
1890    (You can put heap2exec on your shell's path.)
1891    
1892    For example, run
1893    
1894      $ bin/heap2exec bin/.heap/ml-yacc.ppc-darwin mly
1895    
1896    This will create a standalone executable called "mly" which you can
1897    then invoke directly as a command.
1898    
1899    ----------------------------------------------------------------------
1900    Name: Matthias Blume (blume (at) tti - c (dot) org)
1901    Date: 2005/01/07 11:44:00 CST
1902    Tag: blume-20050107-mlstring
1903    Description:
1904    
1905    fixed off-by-one error in ML_STRING macro (globals.c)
1906    
1907    ----------------------------------------------------------------------
1908    Name: Matthias Blume (blume (at) tti - c (dot) org)
1909    Date: 2004/12/23 18:00:00 CST
1910    Tag: blume-20041223-santa
1911    Description:
1912    
1913    Made ml-build script "smarter" (but only very little).
1914    
1915    ----------------------------------------------------------------------
1916    Name: Matthias Blume (blume (at) tti - c (dot) org)
1917    Date: 2004/12/21 15:05:00 CST
1918    Tag: blume-20041221-longlong
1919    Description:
1920    
1921    * Implemented access to signed and unsigned long long data in NLFFI.
1922    (The parameter-passing part of the picture has not complete. But
1923    data structure access seems to work.)
1924    
1925    * Fixed CM's incorrect assumption that the PPC is little-endian.
1926      (On the Mac, it is big-endian.  And that's currently our only
1927      PPC platform.)
1928    
1929    ----------------------------------------------------------------------
1930    Name: Matthias Blume (blume (at) tti - c (dot) org)
1931    Date: 2004/12/21 12:50:00 CST
1932    Tag: blume-20041221-memory
1933    Description:
1934    
1935    Some cleanup in the $c/memory.cm library: separated some concerns by
1936    moving allocation code and memory access code each into their own
1937    files.
1938    
1939    ----------------------------------------------------------------------
1940    Name: Allen Leung (leunga (at) reservoir (dot) com)
1941    Date: 2004/12/17 16:12:00 EST
1942    Tag: leunga-20041217-cygwin-smlnj-home
1943    Description:
1944    
1945        The Unix I/O library of SML/NJ on cygwin does not understand
1946    Windows style pathname, so problems arise when SMLNJ_HOME is set
1947    to a Windows style pathname.  _run-sml now converts SMLNJ_HOME
1948    to a POSIX pathname on cygwin.
1949    
1950    ----------------------------------------------------------------------
1951    Name: Matthias Blume (blume (at) tti - c (dot) org)
1952    Date: 2004/12/16 13:35:00 CST
1953    Tag: Release_110_52
1954    Description:
1955    
1956    Last-minute changes incorporated into 110.52.  Release tag moved.
1957    
1958    The changes:
1959       - HashString.hashString' -> HashString.hashSubstring
1960       - bug fix in UnivariateStats
1961    
1962    ----------------------------------------------------------------------
1963    Name: Matthias Blume (blume (at) tti - c (dot) org)
1964    Date: 2004/12/15 23:40:00 CST
1965    Tag: blume-20041215-hashSubstring
1966    Description:
1967    
1968    - HashString.hashString' -> HashString.hashSubstring
1969    - corresponding changes in atom.sml
1970    - "de-compressed" (aka. un-obfuscated) code for UnivariateStats and
1971      added some comments
1972    
1973    ----------------------------------------------------------------------
1974    Name: Matthias Blume (blume (at) tti - c (dot) org)
1975    Date: 2004/12/15 15:30:00 CST
1976    Tag: (Release_110_52)
1977    Description:
1978    
1979    New working version (110.52).  NEW BOOTFILES!
1980    
1981    ----------------------------------------------------------------------
1982    Name: Matthias Blume (blume (at) tti - c (dot) org)
1983    Date: 2004/12/15 12:45:00 CST
1984    Tag: blume-20041215-spaces
1985    Description:
1986    
1987    More on the space problem (this time for Win32).
1988    
1989    ----------------------------------------------------------------------
1990    Name: Matthias Blume (blume (at) tti - c (dot) org)
1991    Date: 2004/12/14 17:30:00 CST
1992    Tag: blume-20041214-spaces
1993    Description:
1994    
1995    Hacked some of the scripts (in particular: the installer) to cope with
1996    spaces in filenames a bit better.  But beware: the current "solution"
1997    is likely still full of bugs and inherently incomplete.  (We need to
1998    do away with those shell scripts for a comprehensive solution.)
1999    
2000    ----------------------------------------------------------------------
2001    Name: Matthias Blume (blume (at) tti - c (dot) org)
2002    Date: 2004/12/13 14:45:00 CST
2003    Tag: blume-20041213-ml-makedepend
2004    Description:
2005    
2006    Fixed bug in code for ml-makedepend.
2007    
2008    ----------------------------------------------------------------------
2009    Name: Matthias Blume (blume (at) tti - c (dot) org)
2010    Date: 2004/12/09 16:30:00 CST
2011    Tag: blume-20041209-statistics
2012    Description:
2013    
2014    Added two simple but potentially useful statistics modules to SML/NJ Library.
2015    (See CHANGES file there.)
2016    
2017    ----------------------------------------------------------------------
2018    Name: Matthias Blume (blume (at) tti - c (dot) org)
2019    Date: 2004/12/01 16:50:00 CST
2020    Tag: blume-20041201-atom
2021    Description:
2022    
2023    smlnj-lib:
2024    
2025      Added function HashString.hashString' for substrings.
2026      Hand-inlined CharVector.foldl into HashString (for speed).
2027      Modified implementation of structure Atom to avoid extracting
2028      strings from substrings unless necessary.
2029      (Also see CHANGES file for smlnj-lib.)
2030    
2031    ----------------------------------------------------------------------
2032    Name: Matthias Blume (blume (at) tti - c (dot) org)
2033    Date: 2004/11/24 22:15:00 CST
2034    Tag: blume-20041124-cml
2035    Description:
2036    
2037    Made sure CML compiles when Position = Int64.
2038    
2039    ----------------------------------------------------------------------
2040    Name: Matthias Blume (blume (at) tti - c (dot) org)
2041    Date: 2004/11/24 14:30:00 CST
2042    Tag: blume-20041124-position
2043    Description:
2044    
2045    The compiler can now be compiled in a mode that makes structure Position
2046    equal to Int64.  The default, however, is unchanged (Position = Int31)
2047    for the time being.
2048    
2049    To enable 64-bit positions, use the following procedure:
2050    
2051    1. Start sml
2052    2. Autoload $smlnj/cmb.cm (if not already autoloaded)
2053    3. Type
2054          #set (CMB.symval "USE_64_BIT_POSITIONS") (SOME 1);
2055    4. Run CMB.make() as usual.
2056    
2057    This is barely tested.  The only test so far was a little SML program
2058    counting the number of characters in an 8-gigabyte file by
2059    reading it character-by-character.  That test was successful.
2060    
2061    In support of 64-bit positions, a number of new functions have been
2062    added to the runtime system.
2063    
2064    ----------------------------------------------------------------------
2065    Name: Matthias Blume (blume (at) tti - c (dot) org)
2066    Date: 2004/11/23 14:45:00 CST
2067    Tag: blume-20041123-useFile
2068    Description:
2069    
2070    Fixed a problem with unhelpful error messages related to problems with
2071    .cm- or .sml files that appear as part of the sml command line.
2072    
2073    ----------------------------------------------------------------------
2074    Name: Matthias Blume (blume (at) tti - c (dot) org)
2075    Date: 2004/11/18 15:40:00 CST
2076    Tag: Release_110_51
2077    Description:
2078    
2079    New working version (110.51).  NEW BOOTFILES!
2080    
2081    ----------------------------------------------------------------------
2082    Name: Matthias Blume (blume (at) tti - c (dot) org)
2083    Date: 2004/11/18 15:35:00 CST
2084    Tag: <none>
2085    Description:
2086    
2087    Enabled dlopen and friends for FreeBSD (as recommended by Johannes 5
2088    Joemann).
2089    
2090    ----------------------------------------------------------------------
2091    Name: Allen Leung (leunga (at) reservoir (dot) com)
2092    Date: 2004/11/17 16:05:21 EST 2004
2093    Tag: leunga-20041117-mlrisc-live-kill
2094    Description:
2095    
2096       Added support for MLTree constructs LIVE and KILL
2097    to all the architectures.
2098    
2099    ----------------------------------------------------------------------
2100    Name: Matthias Blume (blume (at) tti - c (dot) org)
2101    Date: 2004/11/13 00:20:00 CST
2102    Tag: blume-20041113-versiontool
2103    Description:
2104    
2105    - Stripped down the versiontool: It now only handles the version number.
2106      The date string is generated at bootstrap time (during makeml).
2107    
2108    - In a previous commit, fixed a minor issue with how polyequal is being
2109      translated.  In particular, the code now "looks through" abstractions.
2110      This results in slightly fewer polyEqual warnings and hopefully slightly
2111      more efficient code.  Important examples for where this matters are
2112      the new int64 and word64 types.
2113    
2114    ----------------------------------------------------------------------
2115    Name: Matthias Blume (blume (at) tti - c (dot) org)
2116    Date: 2004/11/12 00:30:00 CST
2117    Tag: blume-20041112-int64
2118    Description:
2119    
2120    Structure Int64 fully hooked in.  (The implementation is not very
2121    efficient, though.)
2122    
2123    ----------------------------------------------------------------------
2124    Name: Matthias Blume (blume (at) tti - c (dot) org)
2125    Date: 2004/11/11 17:30:00 CST
2126    Tag: blume-20041111-more64
2127    Description:
2128    
2129    All the pieces of Word64 are now there, with the exception of the
2130    conversions from and to LargeWord. (Eventually these need to be identities,
2131    but for the time being they don't even make sense because LargeWord is
2132    32-bit wide.)
2133    
2134    Also started to add similar support for Int64, but major pieces of that
2135    are still missing.
2136    
2137    ----------------------------------------------------------------------
2138    Name: Matthias Blume (blume (at) tti - c (dot) org)
2139    Date: 2004/11/11 00:15:00 CST
2140    Tag: blume-20041111-word64
2141    Description:
2142    
2143    Structure Word64 is now (almost) complete, word literals and patterns
2144    seem to work.  There are a few odd pieces missing.  In particular,
2145    I didn't do the {from,to}LargeWord parts because LargeWord is still Word32
2146    at the moment.
2147    
2148    Making Word64 official would mean that LargeWord becomes Word64.  But
2149    this requires extreme care because most word-word conversions have to
2150    go through LargeWord, so making a mistake means loss of efficiency or
2151    worse.  Eventually there will be a solution similar to (but actually
2152    simpler than) what I did with IntInf.
2153    
2154    ----------------------------------------------------------------------
2155    Name: Matthias Blume (blume (at) tti - c (dot) org)
2156    Date: 2004/11/10 18:12:00 CST
2157    Tag: blume-20041110-64bit
2158    Description:
2159    
2160    More 64-bit hacking (but still not even half-way there yet).
2161    Also, some assorted improvements to the handling of 8-bit words.
2162    
2163    ----------------------------------------------------------------------
2164    Name: Matthias Blume (blume (at) tti - c (dot) org)
2165    Date: 2004/11/09 17:50:00 CST
2166    Tag: <none>
2167    Description:
2168    
2169    Started adding some infrastructure for supporting 64-bit int- and
2170    word-types.  (Still in its very early stages.)
2171    
2172    ----------------------------------------------------------------------
2173    Name: Matthias Blume (blume (at) tti - c (dot) org)
2174    Date: 2004/10/28 10:45:00 CDT
2175    Tag: Release_110_50
2176    Description:
2177    
2178    New working version (110.50).  NEW BOOTFILES!
2179    
2180                 =====================
2181    
2182    Also:
2183    
2184      - Changend config/srcarchiveurl from a file just
2185        containing the URL string into a file containing
2186        shell script code.  The code has access to the $VERSION variable.
2187      - Made corresponding changes to config/install.sh and config/unpack.
2188      - Default contents of config/srcarchiveurl uses $VERSION and
2189        normally does not have to be edited to reflect a version change.
2190    
2191      (As a result, a version change can be done by just editing
2192       config/version, the rest is now automatic.)
2193    
2194    ----------------------------------------------------------------------
2195    Name: Matthias Blume (blume (at) tti - c (dot) org)
2196    Date: 2004/10/27 17:50:00 CDT
2197    Tag: blume-20041027-btrace-msg
2198    Description:
2199    
2200    BackTrace.monitor now also reports the source of the exception that
2201    triggered the trace.
2202    
2203    ----------------------------------------------------------------------
2204    Name: Matthias Blume (blume (at) tti - c (dot) org)
2205    Date: 2004/10/27 17:20:00 CDT
2206    Tag: blume-20041027-x86-c-calls
2207    Description:
2208    
2209    This is the HISTORY entry for two earlier commits, both concerning
2210    the x86 c-calls code in MLRISC:
2211    
2212      - added a missing LOAD in the code that deals with struct arguments
2213      - made sure the caller does not add the wrong number of bytes to the
2214        stack pointer after a call of a function returning a struct
2215        (the callee already pops the implicit argument which points to
2216         the space reserved for the result)
2217    
2218    ----------------------------------------------------------------------
2219    Name: Allen Leung (leunga (at) reservoir (dot) com)
2220    Date: 2004/10/24 14:00:00 EST
2221    Tag: leunga-20041024-x86-gas-fucomip
2222    Description:
2223    
2224       John discovered a bug in the syntax of fucomip.
2225       The opcodes FU?COMIP? have been changed to
2226    
2227           fu?comip? %st(i), %st
2228    
2229    ----------------------------------------------------------------------
2230    Name: Matthias Blume (blume (at) tti - c (dot) org)
2231    Date: 2004/10/20 15:06:00 CDT
2232    Tag: blume-20041020-standalone-backtrace
2233    Description:
2234    
2235    Added a mechanism for getting back-trace information from standalone
2236    programs.  Here is how it works:
2237    
2238       1. The part of the program from which you want to get backtrace
2239          information (usually the whole program) should be wrapped with
2240          BackTrace.monitor.  This is a (unit->'a)->'a function, and your
2241          main program could be modified from something like
2242    
2243             fun main (pgm, args) = ...
2244    
2245         to
2246    
2247            fun main (pgm, args) = BackTrace.monitor (fn () => ...)
2248    
2249       2. To be able to access BackTrace.monitor, you have to add
2250          library $smlnj-tdp/plugins.cm to the .cm file that contains your
2251          main function.
2252    
2253       3. Remove all compiled code (i.e., all the .cm/ subdirectories that
2254          CM might have created in the past for your project).
2255    
2256       4. Build the system using this command line:
2257    
2258             ml-build -Ctdp.instrument=true \$smlnj-tdp/back-trace.cm \
2259                      myprog.cm MyProg.main myprog
2260    
2261          instead of the usual
2262    
2263             ml-build myprog.cm MyProg.main myprog
2264    
2265    I changed a library name:
2266    
2267       $/trace-debug-profile.cm --> $smlnj-tdp/plugins.cm
2268    
2269    New libraries:
2270    
2271       $smlnj-tdp/back-trace.cm
2272          -- when loaded causes the back-trace plugin to be installed
2273       $smlnj-tdp/coverage.cm
2274          -- when loaded causes the coverage plugin to be installed
2275    
2276    ----------------------------------------------------------------------
2277    Name: Matthias Blume (blume (at) tti - c (dot) org)
2278    Date: 2004/10/18 16:45:00 CDT
2279    Tag: blume-20041018-groupowner
2280    Description:
2281    
2282    Added an "obsolete" warning for the "group owner" syntax to CM's parser.
2283    
2284    Eliminated group owner specs from .cm files throughout the source tree.
2285    
2286    ----------------------------------------------------------------------
2287    Name: Matthias Blume (blume (at) tti - c (dot) org)
2288    Date: 2004/10/15 15:45:00 CDT
2289    Tag: blume-20041015-coverage
2290    Description:
2291    
2292    * Test coverage tool added!
2293    * Further reorganization of tracing-, debugging-, and profiling support:
2294    
2295        - moved original BTImp -- now called BackTrace -- into a separate
2296          library called $/trace-debug-profile.cm
2297        - eliminated all mentions of BTrace from SMLofNJ.Internals
2298        - only the instrumentation mechanism is now left in the compiler proper
2299        - BackTrace module is a plugin which is NOT plugged in by default
2300        - Coverage module is another such plugin
2301    
2302    To get the benefits of any of these plugin modules, the code in
2303    question must be compiled with tdp instrumentation turned on.  This
2304    can be done by setting SMLofNJ.Internals.TDP.mode to true.
2305    (The ref cell is also controlled via the -Ctdp.instrument=... switch.)
2306    
2307    Plugins are selected at link time.  (Pre-compiled instrumented code
2308    can be re-loaded with different plugins in effect.)  When an
2309    instrumented module is linked, whatever plugins are at that time
2310    enabled will come into effect for that module.
2311    
2312    To enable the back-trace plugin, load library $/trace-debug-profile.cm
2313    and invoke BackTrace.install() (e.g., from the interactive prompt).
2314    To enable the coverage plugin, load the same library and invoke
2315    Coverage.install().
2316    
2317    Back-traces are generated automatically on uncaught exceptions and
2318    when the code in question explicitly invokes BackTrace.trigger().
2319    
2320    Coverage (and execution frequency-) information must be queried
2321    explicitly by calling Coverage.not_covered and Coverage.hot_spots.
2322    
2323    ----------------------------------------------------------------------
2324    Name: Matthias Blume (blume (at) tti - c (dot) org)
2325    Date: 2004/10/14 17:40:00 CDT
2326    Tag: blume-20041014-tdp-core
2327    Description:
2328    
2329    Snapshot of a significant overhaul of how the trace/debug/profile support
2330    is hooked into the system (specifically: Core and SMLofNJ.Internals).
2331    
2332    ----------------------------------------------------------------------
2333    Name: Matthias Blume (blume (at) tti - c (dot) org)
2334    Date: 2004/10/13 16:34:00 CDT
2335    Tag: blume-20041013-tdp
2336    Description:
2337    
2338    Some rationalization of names:
2339    
2340       structure BTrace -> structure TDPInstrument
2341       etc.
2342    
2343    This is is preparation of using the original back-trace
2344    instrumentation for other purposes.  "TDP" stands for
2345    Trace/Debug/Profile.
2346    
2347    The control flag controlling whether instrumentation is on or off is now
2348    registered under a different name, so instead of running sml as
2349    
2350     sml -Cinstrument.btrace-mode=true
2351    
2352    one has to say
2353    
2354     sml -Ctdp.instrument=true
2355    
2356    ----------------------------------------------------------------------
2357    Name: Matthias Blume (blume (at) tti - c (dot) org)
2358    Date: 2004/10/11 16:37:00 CDT
2359    Tag: blume-20041011-regions
2360    Description:
2361    
2362    Made some minor modifications to elabcore.sml to have source regions
2363    be propagated more tightly -- resulting in better (i.e., smaller)
2364    regions being reported in error- and debug messages.
2365    
2366    ----------------------------------------------------------------------
2367    Name: Matthias Blume (blume (at) tti - c (dot) org)
2368    Date: 2004/10/08 22:50:00 CDT
2369    Tag: blume-20041008-cmkw
2370    Description:
2371    
2372    Fixed handling of keywords in .cm files: After seeing "is" the lexer
2373    treats subsequent occurrences of "group", "library", "source", "is",
2374    "*", and "-" as ordinary identifiers rather than keywords.
2375    
2376    Most seriously, this fixes a problem with CM's "shell" tool.  The tool
2377    is supposed to accept a tool argument called "source", but this did
2378    not work because of the clash with the keyword.
2379    
2380    ----------------------------------------------------------------------
2381    Name: Matthias Blume (blume (at) tti - c (dot) org)
2382    Date: 2004/10/07 16:00:00 CDT
2383    Tag: blume-20041007-cleanup
2384    Description:
2385    
2386    Assorted cleanup work:
2387    
2388      - got rid of intstrmap in favor of using the library's
2389        hash table implementation
2390      - threw out most of the pathnames stuff, as it was not used anyway
2391      - simplified tokentable implementation
2392      - fixed some minor spelling errors
2393    
2394    ----------------------------------------------------------------------
2395    Name: Matthias Blume (blume (at) tti - c (dot) org)
2396    Date: 2004/10/06 15:15:15 CDT
2397    Tag: blume-20041006-handler
2398    Description:
2399    
2400    Cleaned up the absyn to reflect the invariant that HANDLE always
2401    carries a FNexp as part of the type definition.  This eliminates some
2402    superfluous sanity checks at runtime down the road.
2403    
2404    Some minor cleanup of the btrace code.
2405    
2406    ----------------------------------------------------------------------
2407    Name: Matthias Blume (blume (at) tti - c (dot) org)
2408    Date: 2004/10/01 10:20:30 CDT
2409    Tag: blume-20041001-slave
2410    Description:
2411    
2412    Added hack to make slave mode work in the presence of the version
2413    tool.  (Still, since the master does two passes over the code for
2414    CMB.make, the release number gets bumped twice when slaves are
2415    attached.  I don't know if this is worth fixing...)
2416    
2417    ----------------------------------------------------------------------
2418    Name: Matthias Blume (blume (at) tti - c (dot) org)
2419    Date: 2004/09/30 10:55:00 CDT
2420    Tag: blume-20040930-version
2421    Description:
2422    
2423    * Moved the "version" magic into its own little library under
2424      src/system/smlnj/internal.  This avoids expensive reconstruction of
2425      a stable src/compiler/core.cm.
2426    
2427    * At the same time, structure CompilerVersion is now known as
2428      structure SMLNJVersion.
2429    
2430    * Arranged for the version tool to NOT kick in when rebuilding the system
2431      (makeml -rebuild, fixpt).  Otherwise one would never reach a fixpoint.
2432      Also, loading the versiontool does not work when rebuilding the system
2433      because CM is not properly initialized at that time.
2434    
2435    ----------------------------------------------------------------------
2436    Name: Matthias Blume (blume (at) tti - c (dot) org)
2437    Date: 2004/09/29 14:00:00 CDT
2438    Tag: blume-20040929-autoversion
2439    Description:
2440    
2441    Implemented some CM magic to have
2442        file src/compiler/TopLevel/main/version.sml
2443    generated automagically.
2444    The version is taken from two files: config/version and config/release.
2445    The first is expected to contain a two-part version number such as 110.49.
2446    The second should contain a single number, but it may be missing.
2447    
2448    If the environment variable VERSIONTOOL_BUMP_RELEASE is defined at the
2449    time the version tool is loaded (which is the first time you say CMB.make),
2450    then the tool will increment the value stored in config/release every
2451    time CMB.make is invoked.
2452    
2453    The binfile format is now insensitive to anything beyond the first
2454    two components of a version number, so bumping the release does not render
2455    binfiles incompatible.  Auto-bumping can be used to keep track of versions
2456    during development without invalidating existing binfiles.
2457    
2458    In any case, every CMB.make updates the date information in version.sml.
2459    (This is the date that is printed in the banner.)
2460    
2461    ----------------------------------------------------------------------
2462    Name: Matthias Blume (blume (at) tti - c (dot) org)
2463    Date: 2004/09/28 10:53:00 CDT
2464    Tag: blume-20040928-controls
2465    Description:
2466    
2467    Some cleanup of the controls code.
2468    
2469    ----------------------------------------------------------------------
2470    Name: Matthias Blume (blume (at) tti - c (dot) org)
2471    Date: 2004/09/27 22:08:00 CDT
2472    Tag: blume-20040927-controls
2473    Description:
2474    
2475    Added two pieces of functionality to the Controls interface:
2476    
2477    1.   val save'restore: 'a control -> unit -> unit
2478    
2479       grabs the current value of the control in stage 1 and restores it
2480       in stage 2.
2481    
2482    2.   val set' : 'a control * 'a -> unit -> unit
2483    
2484       stores the given value into the control in stage 2 (i.e., delayed)
2485       but does all error checking in stage 1.
2486       (This is for string controls that need to do parse their argument --
2487        something that might fail.  In some cases, notably in CM, one
2488        already knows the intended argument but wants to delay the actual
2489        assignment until a time when error recovery would be more difficult.)
2490    
2491    Changed the handling of controls in tool arguments to classes "sml" and
2492    "lazysml":
2493       - use Controls.save'restore as a more robust way of restoring the
2494         old value (in particular: without having to re-parse the string)
2495       - use controls to handle the "overload" keyword in the init group
2496         (I believe this change actually fixes a long-standing obscure bug.)
2497    
2498    ----------------------------------------------------------------------
2499    Name: Matthias Blume (blume (at) tti - c (dot) org)
2500    Date: 2004/09/27 17:00:00 CDT
2501    Tag: blume-20040927-lazysml
2502    Description:
2503    
2504    Added a new tool class called "lazysml" to CM's tool chest.  The only
2505    difference to "sml" is that compilation is done with Control.lazysml
2506    set to true.  A source of class "lazysml" is automatically recognized
2507    by a file name suffix of ".lml".
2508    
2509    In addition to the above feature, the original class "sml" now also
2510    supports a tool argument "lazy" which has the same effect.  As a
2511    result, the following three lines are equivalent:
2512    
2513        foo.sml : lazysml
2514        foo.sml : sml (lazy)
2515        foo.sml (lazy)
2516    
2517    The setting goes into effect both during parsing and during
2518    compilation.  The original setting is restored right after parsing and
2519    after compilation, respectively.
2520    
2521    In addition to all the above, there is also a general mechanism to set
2522    ANY of the "controls" that are available at the command line via
2523    "-C..." on a per-sml-file basis.  The same rules that apply for "lazy"
2524    apply as well. (In fact, "lazy" is implemented as a special case of
2525    the general mechanism.)
2526    
2527    The .cm file syntax uses a new keyword tool argument called "with".
2528    There are several ways of indicating the desired settings:
2529    
2530        foo.sml (with:parser.quotations=true)
2531        foo.sml (with:(name:parser.quotations value:true))
2532        foo.sml (with:(name:name1 value:value1 name:name2 value:value2 ...))
2533        foo.sml (with:(name1=value1 name2=value2 ...))
2534        foo.sml (with:(name1=value1 name:name2 value:value2 name3=value3 ...))
2535    
2536        etc.
2537    
2538    Another possible abbreviation is to leave out the =v or value:v part
2539    if the name refers to a boolean control (in which case the value is
2540    taken to be true).  Thus, one could get lazy sml also by saying:
2541    
2542        foo.sml (with:parser.lazy-keyword=true)
2543        foo.sml (with:parser.lazy-keyword)
2544        foo.sml (with:(name:parser.lazy-keyword value:true))
2545        foo.sml (with:(name:parser.lazy-keyword))
2546    
2547    ----------------------------------------------------------------------
2548    Name: Matthias Blume (blume (at) tti - c (dot) org)
2549    Date: 2004/09/24 16:22:00 CDT
2550    Tag: blume-20040924-ppc-long-branch
2551    Description:
2552    
2553    Turned message about "emiting long form of branch" off by default.
2554    Added a control flag to turn it back on when desired.
2555    
2556    ----------------------------------------------------------------------
2557    Name: Matthias Blume (blume (at) tti - c (dot) org)
2558    Date: 2004/09/24 16:05:00 CDT
2559    Tag: blume-20040924-rounding
2560    Description:
2561    
2562    Applied patch for setting rounding modes under Mac OS X.  Thanks to
2563    Melissa O'Neill for providing the code!
2564    
2565    ----------------------------------------------------------------------
2566    Name: Matthias Blume (blume (at) tti - c (dot) org)
2567    Date: 2004/09/23 17:30:00 CDT
2568    Tag: blume-20040923-envvars
2569    Description:
2570    
2571    1. Changed definition of type ControlRegistry.registry_tree to
2572       include control_info (i.e., the name of the controlling environment
2573       variable).
2574    
2575    2. Added command-line flags -e and -E to print the names of environment
2576       variables that can be used to control internal settings.
2577       (This uses the new API mentioned in 1.)
2578    
2579    ----------------------------------------------------------------------
2580    Name: Matthias Blume (blume (at) tti - c (dot) org)
2581    Date: 2004/09/13 16:50:00 CDT
2582    Tag: Release_110_49
2583    Description:
2584    
2585    New working version (110.49).  NEW BOOTFILES!
2586    
2587    ----------------------------------------------------------------------
2588    Name: Matthias Blume
2589    Date: 2004/09/13 16:20:00 CDT
2590    Tag: blume-20040913-config-mlrisc
2591    Description:
2592    
2593    Put target "mlrisc" back into the default list.
2594    (There is no harm in having it, and some users have expressed their
2595    wish to have "mlrisc" included by default.)
2596    
2597    ----------------------------------------------------------------------
2598    Name: John Reppy
2599    Date: 2004/09/13
2600    Tag: jhr-20040913-signals
2601    Description:
2602    
2603    Fixed the signal masking code to properly nest mask/unmask operations
2604    on a per-signal basis.
2605    
2606    ----------------------------------------------------------------------
2607    Name: Matthias Blume (blume (at) tti - c (dot) org)
2608    Date: 2004/09/08 13:20:00 CDT
2609    Tag: blume-20040908-heap-magic
2610    Description:
2611    
2612    Bumped the heap macig number to 0x09082004 to account for the changed
2613    layout of the ML frame under MacOS X.
2614    
2615    ----------------------------------------------------------------------
2616    Name: Allen Leung (leunga (at) reservoir (dot) com)
2617    Date: 2004/09/03 11:26:00 EST
2618    Tag: leunga-20040903-cygwin-install
2619    Description:
2620    
2621       Added a patch to _arch-n-opsys to enable the Cygwin runtime.
2622    The Cygwin runtime is turned on by setting the environment
2623    variable SMLNJ_CYGWIN_RUNTIME to 1.
2624    
2625    ----------------------------------------------------------------------
2626    Name: Matthias Blume (blume (at) tti - c (dot) org)
2627    Date: 2004/08/31 17:15:00 CDT
2628    Tag: blume-20040831-core
2629    Description:
2630    
2631    Added some exports to src/compiler/core.cm upon request by J. Joemann.
2632    
2633    ----------------------------------------------------------------------
2634    Name: Matthias Blume (blume (at) tti - c (dot) org)
2635    Date: 2004/08/30 17:55:00 CDT
2636    Tag: blume-20040830-installer
2637    Description:
2638    
2639    Upon request by Johannes Joemann:
2640    
2641    - improved ML code of installer to fall back to coping when renaming
2642      fails (i.e., when source and target are on different file systems);
2643      the code compiles but has yet to be tested in anger
2644    - removed mlrisc from list of default targets (config/targets)
2645    
2646    ----------------------------------------------------------------------
2647    Name: Matthias Blume (blume (at) tti - c (dot) org)
2648    Date: 2004/08/27 17:20:00 CDT
2649    Tag: blume-20040827-ptreql
2650    Description:
2651    
2652    Added ptreql primop to structure InlineT (upon request from Larry
2653    Paulson).
2654    
2655    ----------------------------------------------------------------------
2656    Name: Allen Leung (leunga (at) reservoir (dot) com)
2657    Date: 2004/08/15 21:21:00 EST
2658    Tag: leunga-110_48-udgraph
2659    Description:
2660    
2661    Another bug fix from Carl Hauser:
2662    
2663    diff /net/niflab/smlnj48/src/MLRISC/graphs/udgraph.sml udgraph.sml
2664    > 48c48
2665    > <              | rmv((e as (k,_))::es,L) = rmv(es,if k = i then es else
2666    > e::L)
2667    > ---
2668    > >              | rmv((e as (k,_))::es,L) = rmv(es,if k = i then L else e::L)
2669    > Without this, any deletion of an edge in an undirected graph does severe
2670    > violence to the graph.
2671    
2672    ----------------------------------------------------------------------
2673    Name: Allen Leung (leunga (at) reservoir (dot) com)
2674    Date: 2004/08/10 23:35:00 EST
2675    Tag: leunga-110_48-ppc
2676  Description:  Description:
2677    
2678       The IBM/MacOS syntax switch on PPC was incorrectly swapped.
2679    
2680    ----------------------------------------------------------------------
2681    Name: Matthias Blume (blume (at) tti - c (dot) org)
2682    Date: 2004/08/10 12:00:00 CDT
2683    Tag: Release_110_48
2684    Description:
2685    
2686    New working version (110.48).  NEW BOOTFILES!
2687    
2688    ----------------------------------------------------------------------
2689    Name: Allen Leung (leunga (at) reservoir (dot) com)
2690    Date: 2004/08/09 12:21:00 EST
2691    Tag: leunga-110_47-dijsktra
2692    Description:
2693    
2694    Bug fix from Carl Hauser:
2695    
2696    single_source_shortest_paths in dijkstra.sml was observed to get wrong
2697    answers (by comparing to single_source_shortest_paths in bellman-ford.sml).
2698    
2699    The problem is that following the expression A.update(dist,s,Num.zero)
2700    it is necessary to update the priority queue using Q.decreaseWeight(Q,s).
2701    
2702    ----------------------------------------------------------------------
2703    Name: Matthias Blume (blume (at) tti - c (dot) org)
2704    Date: 2004/08/06 18:10:00 CDT
2705    Tag: blume-20040806-cmdline
2706    Description:
2707    
2708    Fiddled with handling of command-line options:
2709    
2710      * sml now quits after processing the command line
2711        if -H, -S, -h<n>, or -s<n> appears as the last
2712        command-line argument
2713      * a new option -q terminates the session when encountered on
2714        the command line; subsequent arguments will be ignored
2715      * bug fixes: short (erroneous) arguments are no longer ignored
2716        completely
2717    
2718    ----------------------------------------------------------------------
2719    Name: Allen Leung (leunga (at) reservoir (dot) com)
2720    Date: 2004/08/04 18:17:00 EST
2721    Tag: leunga-110_47-ppc-ibm-asm
2722    Description:
2723    
2724      - Added minimal IBM assembly syntax support for PowerPC.
2725    
2726      - Cygwin: manually changed the file cygwin.def.  Some exported symbols have
2727        been altered in the runtime.  We need an automatic way to keep the file
2728        in sync.
2729    
2730    ----------------------------------------------------------------------
2731    Name: Matthias Blume (blume (at) tti - c (dot) org)
2732    Date: 2004/08/04 14:00:00 CDT
2733    Tag: Release_110_47
2734    Description:
2735    
2736    New working version (110.47).  NEW BOOTFILES!
2737    
2738    ----------------------------------------------------------------------
2739    Name: Matthias Blume (blume (at) tti - c (dot) org)
2740    Date: 2004/08/03 14:25:00 CDT
2741    Tag: blume-20040803-callingconv
2742    Description:
2743    
2744    Added low-level support for choosing C calling conventions by
2745    twiddling the type of rawccall.  (See
2746    src/compiler/Semant/types/cproto.sml for details.)
2747    
2748    ----------------------------------------------------------------------
2749    Name: Matthias Blume (blume (at) tti - c (dot) org)
2750    Date: 2004/08/02 15:55:00 CDT
2751    Tag: blume-20040802-backout
2752    Description:
2753    
2754    Backed out of change to win32-filesys.c.  The earlier patch to
2755    get_file_time caused CM to produce files with the wrong time stamp.
2756    
2757    ----------------------------------------------------------------------
2758    Name: Matthias Blume (blume (at) tti - c (dot) org)
2759    Date: 2004/08/02 14:45:00 CDT
2760    Tag: blume-20040802-nlffi-win32
2761    Description:
2762    
2763    Added NLFFI support for Win32, adapted from a patch provided by David
2764    Hansel.  This is currently completely untested.  Also, the issue
2765    concerning stdcall vs. ccall is still unresolved.
2766    
2767    ----------------------------------------------------------------------
2768    Name: Matthias Blume (blume (at) tti - c (dot) org)
2769    Date: 2004/07/30 17:55:00 CDT
2770    Tag: blume-20040730-various
2771    Description:
2772    
2773    Gearing up towards 110.47...
2774    
2775    - various minor bugfixes to ml-nlffigen
2776    - a beginning of a manual for nlffi
2777    
2778    - eliminated 'export name=value' in config/install.sh as this does
2779      not work with certain versions of /bin/sh
2780      (Thanks to David King at Motorola for catching this.)
2781    
2782    - several bugfixes provided or suggested by David Hansel at Reactive Systems:
2783      - added a test for tm==NULL to gmtime.c and localtime.c
2784      - applied patch for incorrect GetFileTime under win32
2785      - toSeconds -> toMilliseconds in Win32/win32-process.sml
2786    
2787    ----------------------------------------------------------------------
2788    Name: Matthias Blume (blume (at) tti - c (dot) org)
2789    Date: 2004/07/21 18:20:00 CDT
2790    Tag: blume-20040721-nlffigen
2791    Description:
2792    
2793    - Fixed minor issue in ml-nlffigen: Now generate structure T_foo
2794      for a typedef to an incomplete type, but leave out the "typ" member.
2795      (This is just for consistency.)
2796    - Started to produce what is supposed to become better (i.e., comprehensive)
2797      documentation of what ml-nlffigen does and produces.
2798    
2799    ----------------------------------------------------------------------
2800    Name: Matthias Blume (blume (at) tti - c (dot) org)
2801    Date: 2004/07/14 16:25:00 CDT
2802    Tag: blume-20040714-union
2803    Description:
2804    
2805    Added C_UNION to c-calls/c-types.sml and updated the machinery
2806    (ml-nlffigen, cproto.sml) that conveys C function interface
2807    information to the code generator.
2808    
2809    However, the actual architecture-specific implementation of function
2810    arguments and results that are C unions is still not implemented.
2811    
2812  ----------------------------------------------------------------------  ----------------------------------------------------------------------
2813  Name: Allen Leung (leunga (at) reservoir (dot) com)  Name: Allen Leung (leunga (at) reservoir (dot) com)
2814  Date: 2004/07/14 14:38:00 EST  Date: 2004/07/14 14:38:00 EST

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

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