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

Legend:
Removed from v.1494  
changed lines
  Added in v.3584

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