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

Legend:
Removed from v.1390  
changed lines
  Added in v.3493

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