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

Legend:
Removed from v.1389  
changed lines
  Added in v.3244

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