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