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