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