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 1638, Wed Sep 29 19:07:58 2004 UTC sml/trunk/NOTES/HISTORY revision 3574, Fri Feb 18 18:43:32 2011 UTC
# Line 1  Line 1 
1  This is the HISTORY file for the Yale SML/NJ CVS repository.  This is the HISTORY file for the SML/NJ repository.
2    
3  An entry should be made for _every_ commit to the repository.  An entry should be made for _every_ commit to the repository.
4  The entries in this file will be used when creating the README  The entries in this file will be used when creating the README
# Line 7  Line 7 
7    
8  The form of an entry should be:  The form of an entry should be:
9    
10  Name:  
11    Name: Your Name (web page or e-mail)
12    Date: yyyy/mm/dd hh:mm:ss
13    Tag: cvs-tag-for-this-change
14    Description:
15    
16    Here is a test entry
17    
18    ----------------------------------------------------------------------
19    Name: John Reppy (http://cs.uchicago.edu/~jhr)
20    Date: 2011/02/18
21    Description:
22    
23    Added Barriers module to CML.
24    
25    ----------------------------------------------------------------------
26    Name: Lars Bergstrom (larsberg@cs.uchicago.edu)
27    Date: 2011/02/10
28    Description:
29    
30    Fixed ml-yacc examples to respect the changed signatures with respect
31    to TextIO.inputLine.
32    
33    ----------------------------------------------------------------------
34    Name: Lars Bergstrom (larsberg@cs.uchicago.edu)
35    Date: 2010/09/16
36    Description:
37    
38    Changed the Win32 implementation of validArc to support directories
39    with extended characters (umlauts, etc.).
40    
41    ----------------------------------------------------------------------
42    Name: Lars Bergstrom (larsberg@cs.uchicago.edu)
43    Date: 2010/09/16
44    Description:
45    
46    Fixed the Win32 socket and polling implementation to work correctly
47    with CML. Signature of poll was wrong and didn't handle sockets at all.
48    
49    ----------------------------------------------------------------------
50    Name: John Reppy (http://cs.uchicago.edu/~jhr)
51    Date: 2010/06/16
52    Description:
53    
54    Fixed Real.toString and Real.fmt to include sign for negative zero.
55    
56    ----------------------------------------------------------------------
57    Name: Lars Bergstrom (larsberg@cs.uchicago.edu)
58    Date: 2010/03/23
59    Description:
60    
61    Fixed the bug with Win32 calls to OS.Process.system not quoting the string.
62    
63    ----------------------------------------------------------------------
64    Name: Jon Riehl (http://jonriehl.com/)
65    Date: 2010/02/11
66    Description:
67    
68    Applied patch for building on more recent NetBSD's.  See bug #39 in the
69    tracker:
70    
71    http://smlnj-gforge.cs.uchicago.edu/tracker/index.php?func=detail&aid=39&group_id=33&atid=215
72    
73    ----------------------------------------------------------------------
74    Name: Jon Riehl (http://jonriehl.com/)
75    Date: 2010/02/02
76    Description:
77    
78    Cutting version 110.72.  New bootfiles.
79    
80    ----------------------------------------------------------------------
81    Name John Reppy (http://cs.uchicago.edu/~jhr)
82    Date 2009/12/20
83    Description:
84    
85    Fixed performance bugs in List module by making @ and foldr be
86    tail recursive.
87    
88    ----------------------------------------------------------------------
89    Name: Lars Bergstrom (larsberg@cs.uchicago.edu)
90    Date: 2009/12/11
91    Description:
92    
93    Fixed the Win32 unable to print long strings bug.
94    ----------------------------------------------------------------------
95    Name: Lars Bergstrom (larsberg@cs.uchicago.edu)
96    Date: 2009/12/10
97    Description:
98    
99    Fixed an overrun during major GC. If the string arena was nearly full, it was possible
100    for alignment padding added during copy to the to-space to overrun the allocated
101    size.
102    ----------------------------------------------------------------------
103    Name John Reppy (http://cs.uchicago.edu/~jhr)
104    Date 2009/11/18
105    Description:
106    
107    The ml-antlr and ml-ulex programs have been ported to build under
108    mlton.
109    
110    ----------------------------------------------------------------------
111    Name John Reppy (http://cs.uchicago.edu/~jhr)
112    Date 2009/11/17
113    Description:
114    
115    Added %header directive to the ml-ulex scanner generator.  Also
116    updated the documentation.
117    
118    ----------------------------------------------------------------------
119    Name John Reppy (http://cs.uchicago.edu/~jhr)
120    Date 2009/11/17
121    Description:
122    
123    Added "@SMLsuffix" flag to sml command.  This can be used to get
124    the suffix for heap files.
125    
126    ----------------------------------------------------------------------
127    Name John Reppy (http://cs.uchicago.edu/~jhr)
128    Date 2009/11/17
129    Description:
130    
131    Added "--strict-sml" flag to ml-ulex for MLton compatibility.
132    
133    ----------------------------------------------------------------------
134    Name John Reppy (http://cs.uchicago.edu/~jhr)
135    Date 2009/11/10
136    Description:
137    
138    Added %header directive to the ml-antlr parser generator.  Also
139    updated the documentation.
140    
141    ----------------------------------------------------------------------
142    Name: Jon Riehl (http://www.jonriehl.com/)
143    Date: 2009/09/16
144    Description:
145    
146    Cutting version 110.71.  New bootfiles.
147    
148    ----------------------------------------------------------------------
149    Name John Reppy (http://cs.uchicago.edu/~jhr)
150    Date 2009/09/13
151    Description:
152    
153    Changes to support compiling the runtime system on Mac OS X 10.6
154    (aka Snow Leopard).
155    
156    ----------------------------------------------------------------------
157    Name Mike Rainey (http://cs.uchicago.edu/~mrainey)
158    Date 2009/08/19
159    Description:
160    
161    Fixed a bug in the register-spill generator that is part of the MLRISC
162    register allocator. The problem was that the code in RASpillWithRenaming
163    functor assumed incorrectly that dedicated registers would appear in
164    def/use information generated by ClusterRA. Thanks to Allen Leung for
165    helping with this bug.
166    
167    ----------------------------------------------------------------------
168    Name John Reppy (http://cs.uchicago.edu/~jhr)
169    Date 2009/07/09
170    Description:
171    
172    Removed redundant implementations of various top-level operations by
173    consolidating them in base/system/smlnj/init/pervasive.sml.  This
174    change also fixes a bug in that the top-level version of round was
175    incorrect.
176    
177    ----------------------------------------------------------------------
178    Name: Matthias Blume (http://www.tti-c.org/blume/)
179    Date: 2009/06/15 11:17:00 CDT
180    Description:
181    
182    Bumped version number to 110.70.  New bootfiles.
183    
184    ----------------------------------------------------------------------
185    Name: Matthias Blume (http://www.tti-c.org/blume/)
186    Date: 2009/06/12 11:02:00 CDT
187    Description:
188    
189    1. Corrected problem in config/actions that led to the so-called
190       "unpickling bug" which appeared in version 110.68.
191    
192    2. Provided fix for the 64-bit pattern match bug.
193    
194    ----------------------------------------------------------------------
195    Name John Reppy (http://cs.uchicago.edu/~jhr)
196    Date 2009/03/21
197    Description:
198    
199    Fixed bug in Int32.fmt when the argument was the minimum int and the
200    radix was something other than DEC.
201    
202    ----------------------------------------------------------------------
203    Name Aaron Turon (turon@ccs.neu.edu)
204    Date 2009/02/21
205    Description:
206    
207    Fixed bugs in how ml-antlr parsed ML types in %tokens specifications.
208    
209    ----------------------------------------------------------------------
210    Name: Jon Riehl (http://www.jonriehl.com/)
211    Date: 2009/01/13
212    Description:
213    
214    Picking up some additional fixes for 110.69, including a fix for
215    spaces in CM file paths.
216    
217    ----------------------------------------------------------------------
218    Name: Jon Riehl (http://www.jonriehl.com/)
219    Date: 2008/12/22
220    Description:
221    
222    Version bumped to 110.69.  New bootfiles.
223    
224    ----------------------------------------------------------------------
225    Name: John Reppy (http://www.cs.uchicago.edu/~jhr)
226    Date: 2008/12/06
227    Description:
228    
229    Re-enabled some CPS optimizations (first_contract and eta).  The most
230    important effect of this change is to make uses of SMLofNJ.Cont.capture
231    be properly tail recursive.
232    
233    ----------------------------------------------------------------------
234    Name: Mike Rainey (http://www.cs.uchicago.edu/~mrainey)
235    Date: 2008/12/03
236    Description:
237    
238    New concurrency-related instructions for x86 and amd64 code
239    generators.
240      - PAUSE: Notify the CPU that the program is spin waiting.
241      - MFENCE: memory fence for reads and writes.
242      - SFENCE: memory fence for writes.
243      - LFENCE: memory fence for reads.
244    
245    ----------------------------------------------------------------------
246    Name: John Reppy (http://www.cs.uchicago.edu/~jhr)
247    Date: 2008/12/02
248    Description:
249    
250    Added makefile and other support for building runtime on OpenBSD.
251    
252    ----------------------------------------------------------------------
253    Name: John Reppy (http://www.cs.uchicago.edu/~jhr)
254    Date: 2008/08/13
255    Description:
256    
257    Version bumped to 110.68.  New bootfiles.
258    
259    ----------------------------------------------------------------------
260    Name Aaron Turon (turon@ccs.neu.edu)
261    Date 2008/08/11
262    Description:
263    
264    Minor fix to ml-ulex backend for regexps that match any character
265    and perform a single action.  Previously the emitted code would
266    not allow the regexps to match any character at all.
267    
268    ----------------------------------------------------------------------
269    Name: John Reppy (http://www.cs.uchicago.edu/~jhr)
270    Date: 2008/08/05
271    Description:
272    
273    Added build support for OpenBSD (thanks to Brian O'Hanlon).
274    
275    ----------------------------------------------------------------------
276    Name: John Reppy (http://www.cs.uchicago.edu/~jhr)
277    Date: 2008/07/12
278    Description:
279    
280    Fixed Int64.fromString to use base-10.
281    
282    ----------------------------------------------------------------------
283    Name: John Reppy (http://www.cs.uchicago.edu/~jhr)
284    Date: 2008/04/12
285    Description:
286    
287    Various updates to the ml-lpt tree.  The documentation has been updated;
288    bugs in the parsing of negation and character classes in ml-ulex have
289    been fixed; and changes have been made to make the ml-lpt tools more
290    compatible with MLton (and other SML implementations).  Thanks to
291    Matthew Fluet and Aaron Turon for their patches.
292    
293    ----------------------------------------------------------------------
294    Name: Lars Bergstrom (larsberg@cs.uchicago.edu)
295    Date: 2008/20/04
296    Description:
297    
298    Implemented timer-based profiling on Windows, with behavior as close
299    to the *nix ITIMER-based profiling as possible.
300    ----------------------------------------------------------------------
301    Name: Lars Bergstrom (larsberg@cs.uchicago.edu)
302    Date: 2008/07/04
303    Description:
304    
305    Finished off the Windows subset of the basis library. Added process
306    support and various configuration and system identification utils.
307    ----------------------------------------------------------------------
308    Name: John Reppy (http://www.cs.uchicago.edu/~jhr)
309    Date: 2008/03/18
310    Description:
311    
312    Major changes to the RegExp library: see smlnj-lib/CHANGES for details.
313    ----------------------------------------------------------------------
314    Name: Lars Bergstrom (larsberg@cs.uchicago.edu)
315    Date: 2008/02/14
316    Description:
317    
318    Added the Windows Status structure
319    ----------------------------------------------------------------------
320    Name: Lars Bergstrom (larsberg@cs.uchicago.edu)
321    Date: 2008/02/14
322    Description:
323    
324    Added the Windows DDE structure
325    ----------------------------------------------------------------------
326    Name: Lars Bergstrom (larsberg@cs.uchicago.edu)
327    Date: 2008/02/05
328    Description:
329    
330    Added the Windows Config structure
331    ----------------------------------------------------------------------
332    Name: Lars Bergstrom (larsberg@cs.uchicago.edu)
333    Date: 2008/01/31
334    Description:
335    
336    Added outline of the Windows basis library and the basic registry
337    functionality.
338    ----------------------------------------------------------------------
339    Name: Mike Rainey (http://www.cs.uchicago.edu/~mrainey)
340    Date: 2008/01/23
341    Description:
342    
343    Fixed the amd64 code generator to compile with the current MLRISC.
344    ----------------------------------------------------------------------
345    Name: Lars Bergstrom (larsberg@cs.uchicago.edu)
346    Date: 2007/11/26
347    Description:
348    
349    nlffi was updated to work on Windows. It needed to pass in the correct
350    value for the name of the kernel32 DLL to obtain 'base' bindings.
351    Additionally updated the README for the most basic nlffi sample with
352    what you need to do on MacOSX and on Windows to make it work.
353    ----------------------------------------------------------------------
354    Name: Lars Bergstrom (larsberg@cs.uchicago.edu)
355    Date: 2007/11/21
356    Description:
357    
358    Overwrite the SMLNJ_HOME environment variable on installation
359    Properly change the package code so that subsequent version
360    installations prompt for uninstall (instead of 'repair/remove')
361    ----------------------------------------------------------------------
362    Name: Lars Bergstrom (larsberg@cs.uchicago.edu)
363    Date: 2007/11/14
364    Description:
365    
366    Cleaned up WININSTALL file for new MSI-based setup.
367    ----------------------------------------------------------------------
368    Name: Matthias Blume (http://www.tti-c.org/blume/)
369    Date: 2007/11/13 14:05:00 CST
370    Description:
371    
372    Version bumped to 110.67.  New bootfiles.
373    
374    ----------------------------------------------------------------------
375    Name: John Reppy (http://www.cs.uchicago.edu/~jhr)
376    Date: 2007/11/12
377    Description:
378    
379    Ensure that the size of the allocation space is at least 128K.
380    ----------------------------------------------------------------------
381    Name: John Reppy (http://www.cs.uchicago.edu/~jhr)
382    Date: 2007/11/05
383    Description:
384    
385    Fixed type error in ml-lpt library that occurs when compiling
386    against a basis that was compiled with the USE_64_BIT_POSITIONS
387    symbol set.
388    (Thanks to Johannes Joemann)
389    ----------------------------------------------------------------------
390    Name: Mike Rainey (http://www.cs.uchicago.edu/~mrainey)
391    Date: 2007/11/03
392    Description:
393    
394    Fixed the amd64 code generator to compile with the current MLRISC.
395    ----------------------------------------------------------------------
396    Name: Lars Bergstrom (web page or e-mail)
397    Date: 2007/11/02
398    Description:
399    
400    Made sml.bat more resilient to either not having run the installer
401    and having no SMLNJ_HOME set or having just shuffled the directory
402    around.
403    ----------------------------------------------------------------------
404    Name: John Reppy (http://www.cs.uchicago.edu/~jhr)
405    Date: 2007/11/01
406    Description:
407    
408    A collection of bug fixes for machine.sml in the Reactive library.
409    (Thanks to Timothy Bourke)
410    ----------------------------------------------------------------------
411    Name: John Reppy (http://www.cs.uchicago.edu/~jhr)
412    Date: 2007/10/28
413    Description:
414    
415    Patches for Mac OS X 10.5 (Leopard).
416    ----------------------------------------------------------------------
417    Name: Mike Rainey (http://www.cs.uchicago.edu/~mrainey)
418    Date: 2007/10/28
419    Description:
420    
421    Fixed some bugs in the AMD64 floating-point spilling code.
422    ----------------------------------------------------------------------
423    Name: Mike Rainey (http://www.cs.uchicago.edu/~mrainey)
424    Date: 2007/10/25
425    Description:
426    
427    Added support for the atomic XCHG instruction.
428    ----------------------------------------------------------------------
429    Name: Mike Rainey (http://www.cs.uchicago.edu/~mrainey)
430    Date: 2007/10/22
431    Description:
432    
433    Added AMD64 support for floating-point negation.
434    ----------------------------------------------------------------------
435    Name: Lars Bergstrom (web page or e-mail)
436    Date: 2007/10/22
437    Description:
438    
439    Fixed ^C handling in Windows
440    Added a Windows installer
441    Made it possible to build for Windows on a mapped drive from Parallels
442    ----------------------------------------------------------------------
443    Name: Mike Rainey (http://www.cs.uchicago.edu/~mrainey)
444    Date: 2007/10/22
445    Description:
446    
447    Added AMD64 support for the atomic fetch and add instruction.
448    ----------------------------------------------------------------------
449    Name: Mike Rainey (http://www.cs.uchicago.edu/~mrainey)
450    Date: 2007/10/18
451    Description:
452    
453    The GAS output now favors p2align over align, since the
454    former is guaranteed to be consistent over multiple architectures
455    and the latter is not.
456    ----------------------------------------------------------------------
457    Name: Mike Rainey (http://www.cs.uchicago.edu/~mrainey)
458    Date: 2007/10/18
459    Description:
460    
461    Fixed a bug in register spilling.
462    ----------------------------------------------------------------------
463    Name: Mike Rainey (http://www.cs.uchicago.edu/~mrainey)
464    Date: 2007/10/2
465    Description:
466    
467    Added demo support for AMD64 for quick testing and fixed support for
468    64-bit label constants.
469    ----------------------------------------------------------------------
470    Name: Mike Rainey (http://www.cs.uchicago.edu/~mrainey)
471    Date: 2007/09/20
472    Description:
473    
474    Added support for the MLRISC COND instruction and the x86-64 CMOVCC
475    instruction.
476    ----------------------------------------------------------------------
477    Name: Mike Rainey (http://www.cs.uchicago.edu/~mrainey)
478    Date: 2007/09/17
479    Description:
480    
481    Fixed an instruction-selection bug when loading 64-bit labels.
482    
483    ----------------------------------------------------------------------
484    Name: George Kuan (http://www.cs.uchicago.edu/~gkuan)
485    Date: 2007/09/14
486    Description:
487    
488    Fixed Elaborator and Translate performance bugs
489    
490    ----------------------------------------------------------------------
491    Name: Mike Rainey (http://www.cs.uchicago.edu/~mrainey)
492    Date: 2007/09/12
493    Description:
494    
495    Fixed xorl memory argument bug.
496    
497    ----------------------------------------------------------------------
498    Name: George Kuan (http://www.cs.uchicago.edu/~gkuan)
499    Date: 2007/07/27
500    Description:
501    
502    Added f64sgn (for Real64.signBit) as a primop defined
503    in MLRiscGen. signBit(~0.0) not handled correctly.
504    
505    ----------------------------------------------------------------------
506    Name: John Reppy (http://www.cs.uchicago.edu/~jhr)
507    Date: 2007/06/21
508    Description:
509    
510    Fixed bug in {TextIO,BinIO}.StreamIO.endOfStream that would incorrectly
511    signal end of stream.
512    
513    ----------------------------------------------------------------------
514    Name: Matthias Blume (http://www.tti-c.org/blume/)
515    Date: 2007/06/12 11:22:00 CDT
516    Description:
517    
518    Eliminated config/allsources.  The information is now drawn directly
519    from config/actions.
520    
521    ----------------------------------------------------------------------
522    Name: Matthias Blume (http://www.tti-c.org/blume/)
523    Date: 2007/06/07 23:30:00 CDT
524    Tag: release-110.65
525    Description:
526    
527    Version 110.65. NEW BOOTFILES!
528    
529    ----------------------------------------------------------------------
530    Name: Matthias Blume (http://www.tti-c.org/blume/)
531    Date: 2007/06/06 21:45:00 CDT
532    Description:
533    
534    - Aaron: fixed a number of bugs in ml-ulex.
535    - Matthias:
536       - added CM control "cm.force-tools"; this is false by default;
537         when set to true, then tools like ml-yacc, ml-lex, ml-ulex, etc.
538         will be forced to run regardless of whether or not their targets
539         are up-to-date
540       - changed installer code so that config/install.sh will re-build
541         heap images for all tools even if those heap images already existed
542    
543    ----------------------------------------------------------------------
544    Name: Matthias Blume (http://www.tti-c.org/blume/)
545    Date: 2007/06/04 21:21:00 CDT
546    Description:
547    
548    After Aaron Turon's bug fix for ml-ulex (handling the ^ character
549    in legacy mode), re-ran the lexer generator on all lex input files
550    and committed the results.
551    
552    This should fix the problem with ckit and nlffi that was reported
553    by Vesa A. Norrman.
554    
555    ----------------------------------------------------------------------
556    Name: Matthias Blume (http://www.tti-c.org/blume/)
557    Date: 2007/05/31 11:40:00 CDT
558    Tag: release-110.64
559    Description:
560    
561    Version 110.64. NEW BOOTFILES!
562    
563    ----------------------------------------------------------------------
564    Name: Dave MacQueen (dbm@cs.uchicago.edu)
565    Date: 2007/05/31 14:55:00 CDT
566    Revision: 2650
567    Description:
568    
569    3rd merge of base from primop-branch-3 into the trunk.
570    Additional bug fixes included:
571    
572     * Timer.cpu_timer, etc. type printing corrected (by making
573         Timer have opaque sig constraint in basis/Implementation/timer.sml)
574     * Infinite loop in FLINT (tests/typing/tests/25.sml) (fix by
575         Stefan Monnier)
576    
577    ----------------------------------------------------------------------
578    Name: Matthias Blume (http://www.tti-c.org/blume/)
579    Date: 2007/05/31 11:40:00 CDT
580    Description:
581    
582    Fixed some bugs in new Div code in FLINT/trans/translate.sml.
583    
584    Also, changed the handling of "no core access":  When translate.sml
585    needs access to a core exception at a time when the core has not
586    been set up yet (this only happens when compiling system/smlnj/init/*),
587    then don't bother generating the corresponding tests.
588    
589    The old scheme was to generate a bogus value to be used in place of
590    the exception.  Unfortunately, that confuses the plambda type checker.
591    Moreover, it does not do any good, because at runtime we don't expect
592    such an exception to be ever raised.  (The code in system/smlnj/init/*
593    has to be written very carefully with this in mind!)
594    
595    ----------------------------------------------------------------------
596    Name: Mike Rainey (http://www.cs.uchicago.edu/~mrainey)
597    Date: 2007/05/29
598    Description:
599    
600    Added FSQRT instructions for the AMD64 code generator.
601    
602    ----------------------------------------------------------------------
603    Name: Matthias Blume (http://www.tti-c.org/blume/)
604    Date: 2007/05/29 19:00:00 CDT
605    Description:
606    
607    FLINT/trans/translate.sml now wraps all DIV/MOD/QUOT/REM operations
608    with an explicit test for zero division.  This should fixes several
609    regressions and makes it possible for downstream optimization phases
610    to treat these operations as "pure" when they are applied to unsigned
611    operands.
612    
613    ----------------------------------------------------------------------
614    Name: Mike Rainey (http://www.cs.uchicago.edu/~mrainey)
615    Date: 2007/05/29
616    Description:
617    
618    Added the new MLRISC code generator for the AMD64.  This version,
619    in contrast to the previous one, uses SSE registers and instructions
620    for all floating-point computations.
621    
622    ----------------------------------------------------------------------
623    Name: John Reppy (http://www.cs.uchicago.edu/~jhr)
624    Date: 2007/05/29
625    Description:
626    
627    A number of fixes related to the formatting of dates.  These include fixes
628    for bugs #1415 and #1416.  We also now correctly handle format characters that
629    lie outside the specified set.
630    
631    ----------------------------------------------------------------------
632    Name: Matthias Blume (http://www.tti-c.org/blume/)
633    Date: 2007/05/23 22:30:00 CDT
634    Description:
635    
636    CMB (and CM) now automatically defines the CM "preprocessor" symbol
637    NO_PLUGINS during "makeml -rebuild" or when CM operates in "slave" mode.
638    
639      (In addition, CMB_REBUILD_MODE is defined for makeml -rebuild,
640       CM_SLAVE_MODE is defined in attached slaves while running CM.make
641       or CM.rebuild, and CMB_SLAVE_MODE is defined in attached slaves
642       while running CMB.make.  The point is that the single symbol
643       NO_PLUGINS is definde in all three cases.)
644    
645    I changed the three locations within the sources that get compiled
646    during CMB.make where ml-yacc or ml-lex input is processed: When
647    NO_PLUGINS defined, then the use of the mlyacc and mllex tools
648    is bypassed.
649    
650    When bootstrapping new versions of the compiler, there can be
651    situations where the plugin tools for ml-yacc and ml-lex (or ml-ulex)
652    are not available or otherwise not operational.  In this case one can
653    manually define the NO_PLUGINS symbol prior to running CMB.make().  To
654    do so, the following command should be issued at the interactive
655    prompt:
656    
657       #set (CMB.symval "NO_PLUGINS") (SOME 1);
658    
659    A CMB.make with NO_PLUGINS defined relies on the existence of the
660    files that normally would be generated by ml-yacc and ml-lex.
661    (Copies of these files are in the repository.)
662    
663    ----------------------------------------------------------------------
664    Name: David MacQueen (dbm@cs.uchicago.edu)
665    Date: 2007/5/23 17:23:00 CDT
666    Revision: 2603
667    Description:
668    
669    2nd merge of base from primop-branch-3 into the trunk.
670    Additional bug fixes included:
671     Date.scan and Date.fromString fixed;
672     Overloading resolution fixed and some type printing problems corrected.
673    
674    ----------------------------------------------------------------------
675    Name: Matthias Blume (http://www.tti-c.org/blume/)
676    Date: 2007/05/23 09:50:00 CDT
677    Description:
678    
679    Changed the installation mechanism for CM tool plugins.  These are
680    just libaries and now get installed like ordinary libaries.
681    
682    There are now a number of new installation targets that give some
683    fine-grain control over what classes and suffixes are known, and what
684    they will map to.
685    See config/targets for details.
686    
687    The code that caused plugin installation as part of running a
688    tool's "build" script has been removed.  (The build script is for
689    building, not for installing.)
690    
691    ----------------------------------------------------------------------
692    Name: Matthias Blume (http://www.tti-c.org/blume/)
693    Date: 2007/05/22 11:50:00 CDT
694    Description:
695    
696    Added a boolean control named cm.tolerate-tool-failures (env. variable
697    name: CM_TOLERATE_TOOL_FAILURES).  The default is false and makes
698    CM fail if a shell tool reports a non-success exit status.  If
699    the control is set to true, then CM will press on after tool failures
700    in the event that the target files exist (even though they are
701    considered outdated).  Turning the control to true can be useful for
702    bootstrapping.
703    
704    ----------------------------------------------------------------------
705    Name: Aaron Turon (http://www.cs.uchicago.edu/~adrassi)
706    Date: 2007/05/19
707    Description:
708    
709    Merge of ml-lpt revisions for 110.64.
710    
711    The name of several ml-lpt-lib modules has changed:
712      Repair        => AntlrRepair
713      StreamPos     => AntlrStreamPos
714      ErrHandlerFn  => AntlrErrHandler
715      EBNF          => AntlrEBNF
716    
717    The ml-antlr specification format has changed: declarations such as
718    %tokens and nonterminal definitions can occur *multiple* times in the
719    same specification.  The semantics are such that each new declaration
720    extends the previous ones.  This does not apply to %start or %name,
721    of course.
722    
723    Importing a grammar via %import now includes *all* declarations in from
724    the imported grammar, except for %name, %entry, and %start.  Tokens
725    and nonterminals can be dropped using the new %dropping clause of the
726    %import directive; the separate %drop and %extend have been removed.
727    
728    We now allow optional type annotations on nonterminals, using the %nonterms
729    directive as in ml-yacc.
730    
731    The refcell construct is now implemented using SML's regular reference
732    cells, so the :== and !! notation has been deprecated.
733    
734    The ml-antlr tool now does much more checking of specifications, and
735    its error messages have been greatly improved.  Error repair for
736    generated parsers has been completely rewritten, and is now both
737    much faster and more accurate.
738    
739    ml-ulex is now more lenient with escape codes (non-SML-standard
740    escape codes are now interpreted literally, so e.g. \| denotes "|").
741    Also, character classes may now include a "-" character at the beginning
742    as is standard in most other regexp tools.
743    
744    All of these changes are documented in the user guide, which has
745    been updated and improved with this merge.
746    
747    ----------------------------------------------------------------------
748    Name: David MacQueen (http://www.cs.uchicago.edu/~jhr)
749    Date: 2007/05/03
750    Revision: r2492
751    Description:
752    
753    Merge of the primop3 branch (base) into the trunk to create 110.63.1.
754    Significant changes in FLINT and the front end, mostly having to do
755    with a reorganized system for handling primops.  Various bug fixes
756    and improvements in printing signatures.
757    
758    ----------------------------------------------------------------------
759    Name: Aaron Turon (http://www.cs.uchicago.edu/~adrassi)
760    Date: 2007/05/02
761    Description:
762    
763    Preliminary commit of large ml-lpt revisions (more to come for 110.64).
764    The ml-antlr specification format has changed: declarations such as
765    %tokens and nonterminal definitions can occur *multiple* times in the
766    same specification.  The semantics are such that each new declaration
767    extends the previous ones.  Grammar extension constructs have also
768    changed.  We now allow type annotations on nonterminals.  Finally,
769    the refcell construct is now implemented using SML's regular reference
770    cells, so the :== and !! notation has been deprecated.  All of these
771    changes will appear in the 110.64 user guide for ml-lpt.
772    
773    The ml-antlr tool now does much more checking of specifications, and
774    its error messages have been greatly improved.  There has also been
775    some work on the error repair process for generated parsers, but this
776    will be further improved in 110.64.
777    
778    ----------------------------------------------------------------------
779    Name: John Reppy (http://www.cs.uchicago.edu/~jhr)
780    Date: 2007/04/24
781    Description:
782    
783    More Basis fixes: The Char.fromString (etc.) functions did not handle
784    the "\uxxxx" escape sequence.  There is still an outstanding bug with
785    String.fromString the tail is a format escape.  I added a comment to
786    this effect in Basis/Implementation/string.sml.
787    Thanks to Andreas Rossberg.
788    
789    ----------------------------------------------------------------------
790    Name: John Reppy (http://www.cs.uchicago.edu/~jhr)
791    Date: 2007/04/24
792    Description:
793    
794    Added next function to Fifo and Queue modules in the SML/NJ Library.
795    
796    ----------------------------------------------------------------------
797    Name: John Reppy (http://www.cs.uchicago.edu/~jhr)
798    Date: 2007/04/23
799    Description:
800    
801    More Basis fixes: Time.fmt dropped the leading "~" for negative time
802    values that had no whole part.
803    
804    ----------------------------------------------------------------------
805    Name: John Reppy (http://www.cs.uchicago.edu/~jhr)
806    Date: 2007/04/23
807    Description:
808    
809    More Basis fixes: the OS.Path module did not include the InvalidArc
810    exception and did not do sufficient argument checking.
811    Thanks to Stephen Weeks and Adam Chilpala.
812    
813    ----------------------------------------------------------------------
814    Name: Mike Rainey (http://www.cs.uchicago.edu/~mrainey)
815    Date: 2007/04/16
816    Description:
817    
818    Fixed an unbound functor bug in the AMD64 CM file.
819    
820    ----------------------------------------------------------------------
821    Name: Mike Rainey (http://www.cs.uchicago.edu/~mrainey)
822    Date: 2007/04/12
823    Description:
824    
825    Substantially changed the signature and implementation of AMD64
826    SVID.  It now looks similar to the ia32 SVID, yet uses staged
827    allocation.
828    
829    ----------------------------------------------------------------------
830    Name: John Reppy (http://www.cs.uchicago.edu/~jhr)
831    Date: 2007/04/07
832    Description:
833    
834    More Basis fixes: the WORD signature was missing {to,from}Large.
835    Thanks to Andreas Rossberg.
836    
837    ----------------------------------------------------------------------
838    Name: Matthias Blume (http://www.tti-c.org/blume/)
839    Date: 2007/03/22 16:07:00 CDT
840    Tag: release-110.63
841    Description:
842    
843    Bumped version number to 110.63.
844    
845       !!!NEW BOOTFILES!!!
846    
847    ----------------------------------------------------------------------
848    Name: Mike Rainey (http://www.cs.uchicago.edu/~mrainey)
849    Date: 2007/03/19
850    Description:
851    
852    Fixed bogus operand sizes in AMD64 instruction spilling.
853    
854    ----------------------------------------------------------------------
855    Name: John Reppy (http://www.cs.uchicago.edu/~jhr)
856    Date: 2007/03/19
857    Description:
858    
859    Fixed a number of inconsistencies between the Posix.TTY structure
860    and the Basis specification.  Thanks to Adam Chilpala.
861    
862    ----------------------------------------------------------------------
863    Name: Mike Rainey (http://www.cs.uchicago.edu/~mrainey)
864    Date: 2007/02/26
865    Description:
866    
867    Added preliminary support in MLRISC for Staged Allocation, a technique
868    for specifying calling conventions (see
869    http://www.eecs.harvard.edu/~nr/pubs/staged-abstract.html).
870    Initially, we plan to use this code to generate C calls for the AMD64.
871    
872    The staged allocation code base resides in MLRISC/staged-allocation,
873    and specialized calling conventions go in MLRISC/ARCH/staged-allocation.
874    
875    ----------------------------------------------------------------------
876    Name: John Reppy (http://www.cs.uchicago.edu/~jhr)
877    Date: 2007/02/20
878    Description:
879    
880      Bug fix: when SaveCState was called with two values to save, a subsequent
881      GC could cause the RestoreCState to fail because the saved state had been
882      promoted to tagless pair.
883    
884    ----------------------------------------------------------------------
885    Name: Allen Leung (leunga (at) reservoir (dot) com)
886    Date: 2007/02/20 19:08:00 EST
887    Description:
888    
889        Bug triggered by:
890    
891        val a1 = Word8Array.array(a1, 0w0);
892        val _  = Word8Array.update(a1, 0, 0w128);
893    
894        x86MCEmitter crashed when the immediate operand to MOVB was outside
895    of the range -128 ... 127.  I've changed the code so that the range
896    check is disabled.   Only the low order 8 bits of the immediate operand
897    are now significant.
898    
899    
900    ----------------------------------------------------------------------
901    Name: Matthias Blume (http://www.tti-c.org/blume/)
902    Date: 2007/02/15 09:20:00 CST
903    Description:
904    
905    Eliminated any mention of lexgen.  (Lexgen was an early precursor
906    to ml-ulex.)
907    
908    You should update your admin directory, so the shell scripts for
909    maintaining your local copy of the repository reflect this change.
910    
911    ----------------------------------------------------------------------
912    Name: Matthias Blume (http://www.tti-c.org/blume/)
913    Date: 2007/02/14 15:45:00 CST
914    Description:
915    
916    Fixed bug in CM's parallel make facility that failed to have
917    the master re-link modules after letting slaves compile them.
918    
919    ----------------------------------------------------------------------
920    Name: Matthias Blume (http://www.tti-c.org/blume/)
921    Date: 2007/02/12 15:10:00 CST
922    Description:
923    
924    Fixed typo in ml-build script that prevented library anchors
925    from being registered.
926    
927    ----------------------------------------------------------------------
928    Name: Matthias Blume (http://www.tti-c.org/blume/)
929    Date: 2007/02/02 15:20:00 CST
930    Tag: release-110.62
931    Description:
932    
933    New working release (110.62).  NEW BOOTFILES!
934    
935    ----------------------------------------------------------------------
936    Name: Aaron Turon (http://www.cs.uchicago.edu/~adrassi)
937    Date: 2007/01/31
938    Description:
939    
940    Brought ml-lpt manual up-to-date with the code.  Many minor
941    improvements to the tools, and a few minor bugfixes.  Prepared
942    ml-lpt-lib for integration with new UTF8 structure.  Changed
943    the interface for creating streams in ml-ulex (we now support
944    stream creation from several kinds of sources).  Overall, the
945    tools are now quite stable, and their interfaces are unlikely to
946    change in a way that would break compatibility.  More work,
947    however, is needed in the documentation.
948    
949    ----------------------------------------------------------------------
950    Name: Matthias Blume (http://www.tti-c.org/blume/)
951    Date: 2007/02/01 10:05:00 CST
952    Description:
953    
954    Implemented library installer.  Moved CM plugin code for
955    ml-burg, ml-lex, and ml-yacc out of CM source tree and into
956    their respective trees.  Implemented CM plugin for ml-ulex
957    and ml-antlr.  Used library installer for ml-burg, ml-ulex,
958    and ml-antlr.
959    
960    For ml-yacc and ml-lex we continue to have permanently "plugged-in"
961    CM tools.  (It turns out to be too messy to do otherwise because
962    there is too much code that during installation relies on the presence
963    of these tools -- resulting in a tricky ordering problem.)
964    
965    ----------------------------------------------------------------------
966    Name: Matthias Blume (http://www.tti-c.org/blume/)
967    Date: 2007/01/30 11:05:00 CST
968    Description:
969    
970    Added SMLofNJ.shiftArgs which is like a shell's "shift" command.
971    Modified CM's startup code to use shiftArgs as it processes
972    command line arguments.  This way, the init code in each .sml-file
973    or library that is mentioned at the top level will see only
974    those arguments that have not yet been processed at this point.
975    In other words, the init code can "seize control" and process the
976    remaining command line.
977    
978    ----------------------------------------------------------------------
979    Name: John Reppy (http://www.cs.uchicago.edu/~jhr)
980    Date: 2007/01/30
981    Description:
982    
983    Added fromList function to the ORD_SET interface and lookup to the
984    ORD_MAP interface.  See the SML/NJ Library CHANGES file for details.
985    
986    ----------------------------------------------------------------------
987    Name: John Reppy (http://www.cs.uchicago.edu/~jhr)
988    Date: 2007/01/28
989    Description:
990    
991    Added the UTF8 structure and signature from the Moby compiler to
992    the SML/NJ library (and the CML library).  These modules will replace
993    the version in the ml-lpt-lib.
994    
995    ----------------------------------------------------------------------
996    Name: Matthias Blume (http://www.tti-c.org/blume/)
997    Date: 2007/01/26 15:10:00 CST
998    Description:
999    
1000    Added entries to handle ml-lpt-lib.cm in installer.
1001    
1002    ----------------------------------------------------------------------
1003    Name: Matthias Blume (http://www.tti-c.org/blume/)
1004    Date: 2006/12/15 11:10:00 CST
1005    Tag: release-110.61
1006    Description:
1007    
1008    New working release (110.61).  NEW BOOTFILES!
1009    
1010    This supersedes the pre-brown-paper-bug release (see below).
1011    
1012    ----------------------------------------------------------------------
1013    Name: Matthias Blume (http://www.tti-c.org/blume/)
1014    Date: 2006/12/15 11:00:00 CST
1015    Description:
1016    
1017    Fixed brown-paper-bag bug with CM's pathname handling, which made
1018    installation fail under Win32.
1019    
1020    ----------------------------------------------------------------------
1021    Name: Matthias Blume (http://www.tti-c.org/blume/)
1022    Date: 2006/12/14 12:00:00 CST
1023    Description:
1024    
1025    Obsolete!
1026    
1027    [New working release (110.61).  NEW BOOTFILES!]
1028    
1029    ----------------------------------------------------------------------
1030    Name: John Reppy (http://cs.uchicago.edu/~jhr)
1031    Date: 2006/14/06 09:50:00 CST
1032    Description:
1033    
1034    Fixed the code in runtime/c-libs/posix-tty/{tcgetattr,tcsetattr}.c to
1035    get the c_cc termios data copied correctly.  Also moved the allocation
1036    of the string to avoid problems if it caused a GC.
1037    
1038    Thanks to Timothy Bourke for the bug report and fix.
1039    
1040    ----------------------------------------------------------------------
1041    Name: Matthias Blume (http://www.tti-c.org/blume)
1042    Date: 2006/12/08 09:50:00 CST
1043    Description:
1044    
1045    Added code to CM's "standard shell tool" implementation which
1046    causes it to tolerate (with a warning) the situation where the shell
1047    command fails (e.g., due to the shell command's non-existence)
1048    as long as all target files exist.
1049    
1050    This makes it possible to, e.g., build ml-yacc from sources even if
1051    svn checkout messed up the time stamps on files in such a way that
1052    yacc.grm is younger than yacc.grm.sml or yacc.grm.sig.  (Ml-yacc would
1053    be needed to re-process yacc.grm, but obviously it might not yet be
1054    available at that time.)
1055    
1056    ----------------------------------------------------------------------
1057    Name: John Reppy (http://cs.uchicago.edu/~jhr)
1058    Date: 2006/12/06 12:06:00 CST
1059    Description:
1060    
1061    Fixed the types of recvVecFrom, recvVecFrom', recvVecFromNB, and
1062    recvVecFromNB' in the SOCKET signature.  This error is actually
1063    in the SML Basis specification too.
1064    
1065    ----------------------------------------------------------------------
1066    Name: Matthias Blume (http://www.tti-c.org/blume/)
1067    Date: 2006/12/05 22:40:00 CST
1068    Description:
1069    
1070    CM now reports undefined anchors as errors and aborts execution
1071    rather than silently pressing on using bogus values.
1072    
1073    ----------------------------------------------------------------------
1074    Name: Matthias Blume (http://www.tti-c.org/blume/)
1075    Date: 2006/11/29 10:00:00 CST
1076    Description:
1077    
1078    Use Say.vsay for printing the "[autoloading]" message, so
1079    #set CM.Control.verbose false (or -Ccm.verbose=false) can be used
1080    to suppress them.
1081    
1082    ----------------------------------------------------------------------
1083    Name: Matthias Blume (http://www.tti-c.org/blume/)
1084    Date: 2006/11/10 11:00:00 CST
1085    Description:
1086    
1087    Fixed bug in CM where "with:" specifications that affect compilation
1088    (as opposed to parsing) were ignored.
1089    
1090    ----------------------------------------------------------------------
1091    Name: Matthias Blume (http://www.tti-c.org/blume/)
1092    Date: 2006/11/09 14:30:00 CST
1093    Tag: release-110.60
1094    Description:
1095    
1096    New working release (110.60).  NEW BOOTFILES!
1097    
1098    This is the first subversion-hosted release.  There are also changes
1099    to the directory layout.  Here is a table:
1100    
1101    (All pathnames are relative to the SML/NJ "root" directory.)
1102    
1103      config -> config
1104    
1105      src/cm -> base/cm
1106      src/compiler -> base/compiler
1107      src/runtime -> base/runtime
1108      src/system -> base/system
1109    
1110      src/cm/pgraph -> pgraph
1111    
1112      src/READMES -> base/READMES
1113      src/$notefile -> base/NOTES/$notefile
1114         for <notefile> in BOOT CVSNOTES CYGWININSTALL HISTORY INSTALL
1115                           MACOSXINSTALL WININSTALL
1116    
1117      src/smlnj-lib -> smlnj-lib
1118      src/MLRISC -> MLRISC
1119      ckit -> ckit
1120      src/cml -> cml
1121      src/eXene -> eXene
1122      src/heap2asm -> heap2asm
1123      src/lexgen -> lexgen
1124      src/ml-burg -> ml-burg
1125      src/ml-lex -> ml-lex
1126      src/ml-yacc -> ml-yacc
1127      src/ml-nlffi-lib -> nlffi/lib
1128      src/ml-nlffigen -> nlffi/gen
1129      src/smlnj-c -> smlnj-c
1130      src/tools/TraceDebugProf -> trace-debug-profile
1131    
1132    In addition, there is also a new
1133    
1134      ml-lpt
1135    
1136    directory containing two new program generator tools: ml-ulex and
1137    ml-antlr (a lexer generator that handles unicode and an ANTRL-inspired
1138    LL(k) parser generator). These tools are currently "beta-quality"
1139    
1140    The latest versios of the sources can now be obtained anonymously
1141    via subversion.  For this, it is useful to first check out
1142    
1143       svn://smlnj-gforge.cs.uchicago.edu/smlnj/admin
1144    
1145    and put the resulting directory on your shell's PATH.  This provides
1146    access to three shell scripts: checkout-all.sh, stat-all.sh,
1147    and refresh-all.sh.
1148    
1149    To create a freshly checked-out copy of the sources, do
1150    
1151       checkout-all.sh [dir]
1152    
1153    where dir is the optional SML/NJ root directory (default is ".").
1154    
1155    This creates the above directory layout.  Each subdirectory of
1156    the root is under individual subversion control.  The stat-all.sh
1157    and refresh-al.sh scripts apply "svn stat" or "svn update" to
1158    each of these subtrees.
1159    
1160    ----------------------------------------------------------------------
1161    Name: Matthias Blume (http://www.tti-c.org/blume/)
1162    Date: 2006/11/02 12:20:00 CST
1163    Description:
1164    
1165    Reorganized directory layout.
1166    
1167    This is a temporary solution, more reorganization is to come.
1168    
1169    The basic idea is to have a number of toplevel trees, each corresponding
1170    to a well-defined part of the overall system.  Each part can be
1171    maintained individually, even in separate source repositories,
1172    although currently we still serve everything out of the main
1173    smlnj-gforge tree.
1174    
1175    Installer and and scripts have been updated to reflect the new
1176    layout.  The installer (base/src/system/smlnj/installer) is now
1177    "scriptable" to avoid burning too much knowledge about the
1178    layout into SML source code.  The main script used by the installer
1179    is in config/actions.
1180    
1181    The main change is that many of the subdirectories of what used to
1182    be known as "src" have moved to the toplevel.  The "src" directory
1183    itself has moved down into a subtree called "base".  (We may eventually
1184    get rid of the extra level of indirection represented by "src".)
1185    
1186    The layout is now as follows:
1187    
1188      toplevel tree name | default repository
1189                         | (using gf=svn://smlnj-gforge.cs.uchicago.edu/smlnj)
1190      -------------------+----------------------------------------------------
1191      config             | $gf/config/trunk
1192                         |
1193      base               | $gf/sml/trunk
1194                         |
1195      smlnj-lib          | $gf/smlnj-lib/trunk
1196      MLRISC             | $gf/MLRISC/trunk
1197                         |
1198      ml-yacc            | $gf/ml-yacc/trunk
1199      ml-lex             | $gf/ml-lex/trunk
1200      ml-burg            | $gf/ml-burg/trunk
1201      lexgen             | $gf/lexgen/trunk
1202      heap2asm           | $gf/heap2asm/trunk
1203                         |
1204      cml                | $gf/cml/trunk
1205      eXene              | $gf/eXene/trunk
1206      ckit               | $gf/ckit/trunk
1207      nlffi              | $gf/nlffi/trunk
1208                         |
1209      smlnj-c            | $gf/smlnj-c/trunk
1210    
1211    In $gf/admin there are a few useful shell scripts for checking out
1212    and maintaining the entire collection of trees:
1213    
1214       admin/checkout-all.sh [dir]
1215          -- optionally creates dir and checks out all trees from their
1216             default repositories; if dir is missing, checkout into .
1217       admin/refresh-all.sh [dir]
1218          -- looks at all trees (from the above list) in dir (default: .)
1219             and runs "svn update" if the tree exists and is under
1220             subversion control;
1221             non-existing or non-subversion trees are skipped
1222       admin/stat-all.sh [dir]
1223          -- like refresh-all.sh, but runs "svn stat" instead
1224    
1225    ----------------------------------------------------------------------
1226    Name: Matthias Blume (http://www.tti-c.org/blume/)
1227    Date: 2006/10/05 11:30:00 CDT
1228    Tag: blume-20061005-merge-amd64
1229    Description:
1230    
1231    Merged code for AMD64 backend (Mike Rainey's work).
1232    Everything is hooked up but untested.
1233    
1234    ----------------------------------------------------------------------
1235    Name: Matthias Blume (http://www.tti-c.org/blume/)
1236    Date: 2006/05/17 14:00:00 CST
1237    Tag: Release_110_59
1238    Description:
1239    
1240    New working version (110.59).  NEW BOOTFILES!
1241    
1242    I am freezing 110.59.  Changes other than the version-number increase:
1243    
1244      eXene:
1245    
1246         * committed changes to eXene from Alley Stoughton:
1247             "fixed bugs in X authorization and resource handling, as well
1248              as in the pile and viewport widgets"
1249    
1250      Runtime:
1251        * fixed linking problem with NetBSD 3.x.
1252    
1253      Lexgen:
1254        * lexgen tool handles non-ascii characters in 7-bit mode the same
1255          way that ml-lex does
1256    
1257        * lexgen propagates exceptions the same way that ml-lex does
1258    
1259      CML:
1260        * Fixed a bug in the SyncVar polling functions (iGetPoll,
1261          mTakePoll, and mGetPoll) that could lead to livelock.
1262    
1263    ----------------------------------------------------------------------
1264    Name: Matthias Blume (http://www.tti-c.org/blume/)
1265    Date: 2006/05/12 15:20:00 CST
1266    Tag: blume-20060515-makedepend
1267    Description:
1268    
1269    Implemented ml-makedepend (i.e., CM.sources) in a better (more robust)
1270    way.  This should hopefully fix the ml-makedepend problem permanently.
1271    
1272    ----------------------------------------------------------------------
1273    Name: Matthias Blume (http://www.tti-c.org/blume/)
1274    Date: 2006/05/12 15:15:00 CST
1275    Tag: blume-20060512-makedepend
1276    Description:
1277    
1278    Fixed long-standing bug with ml-makedepend where it would output a
1279    spurious dependency to a non-existing file.  (This is a simple fix.
1280    It might need further looking into.)
1281    
1282    ----------------------------------------------------------------------
1283    Name: Matthias Blume (http://www.tti-c.org/blume/)
1284    Date: 2006/04/20 10:30:00 CDT
1285    Tag: blume-20060420-heap2exec
1286    Description:
1287    
1288    Committed patches received from Johannes 5 Joemann (joemann@befree.free.de)
1289    that enable heap2exec under Linux and FreeBSD.
1290    
1291    ----------------------------------------------------------------------
1292    Name: John Reppy
1293    Date: 2006/04/14
1294    Tag:
1295    Description:
1296    
1297    MLRISC changes:
1298      1) renamed GAS_PSEUDO_OPS to AS_PSEUDO_OPS and put it in its own file.
1299      2) added support for NOTB and XORB operators in pseudo-op expressions
1300      3) added DarwinPseudoOp functor that supports Darwin's assembler syntax.
1301      4) added support for 64-bit integer literals
1302    
1303    ----------------------------------------------------------------------
1304    Name: Matthias Blume (http://www.tti-c.org/blume/)
1305  Date: yyyy/mm/dd  Date: yyyy/mm/dd
1306  Tag: <post-commit CVS tag>  Tag: Release_110_58
1307    Description:
1308    
1309    New working version (110.58).  NEW BOOTFILES!
1310    
1311    ----------------------------------------------------------------------
1312    Name: Matthias Blume (http://www.tti-c.org/blume/)
1313    Date: 2006/03/01 22:15:00 CST
1314    Tag: blume-20060301-lexgen
1315    Description:
1316    
1317    Incorporated several bugfixes to lexgen.  Compiler now compiles to
1318    fixpoint when using lexgen instead of ml-lex.
1319    
1320    ----------------------------------------------------------------------
1321    Name: Matthias Blume (http://www.tti-c.org/blume/)
1322    Date: 2006/02/28 22:45:00 CST
1323    Tag: blume-20060228-lexgen
1324    Description:
1325    
1326    Removed ml-flex and added lexgen instead, using Aaron Turon's newly
1327    provided tarball.  The generated lexers still have problems.
1328    
1329    ----------------------------------------------------------------------
1330    Name: Matthias Blume (http://www.tti-c.org/blume/)
1331    Date: 2006/02/26 23:30:00 CST
1332    Tag: blume-20060226-ml-flex
1333    Description:
1334    
1335    Removed ml-flex' dependency on regexp-lib.cm.  Turned installation
1336    of ml-flex on by default.
1337    
1338    ----------------------------------------------------------------------
1339    Name: Matthias Blume (http://www.tti-c.org/blume/)
1340    Date: 2006/02/24 16:30:00 CST
1341    Tag: blume-20060224-ml-flex
1342    Description:
1343    
1344    Added ml-flex sources.  Partially integrated, but should not be
1345    turned on yet!  (Read: leave it commented-out in config/targets!)
1346    
1347    ----------------------------------------------------------------------
1348    Name: John Reppy (http://www.cs.uchicago.edu/~jhr)
1349    Date: 2006/02/23
1350    Tag: jhr-20060223-x86-64
1351    Description:
1352    Changes to support building on x86-64 systems (using the 32-bit mode).
1353    Also cleaned up signal handling on Linux.  Support for pre-2.2 Linux
1354    kernels dropped.
1355    
1356    ----------------------------------------------------------------------
1357    Name: Allen Leung (leunga (at) reservoir (dot) com)
1358    Date: 2006/02/22 15:07:00 EST
1359    Tag: leunga-20060222-mdl-gen
1360    Description:
1361    
1362      CM has changed.  Updated the script for rebuilding the MLRISC generated
1363    files.
1364    
1365    ----------------------------------------------------------------------
1366    Name: Matthias Blume (http://www.tti-c.org/blume/)
1367    Date: 2006/02/14 17:30:00 CST
1368    Tag: blume-20060214-intel-mac
1369    Description:
1370    
1371    Hooked code for Darwin-specific Intel ABI into main compiler.
1372    (This is a temporary solution which relies on the fact that the
1373    compiler itself does not use NLFFI.  Eventually we need to divorce
1374    intel mac from generic x86 unix code and make separate sets of binaries.)
1375    
1376    ----------------------------------------------------------------------
1377    Name: John Reppy (http://www.cs.uchicago.edu/~jhr)
1378    Date: 2006/02/13
1379    Tag: jhr-20060213-intel-mac
1380    Description:
1381    Changed MLRISC x86 CCalls for partial support of MacOS X ABI.
1382    
1383    ----------------------------------------------------------------------
1384    Name: John Reppy (http://www.cs.uchicago.edu/~jhr)
1385    Date: 2006/02/06
1386    Tag: jhr-20060206-intel-mac
1387    Description:
1388    Changes to support MacOS X on Intel hardware.  The C-calls support in
1389    MLRISC must also be updated to support the MacOS X ABI.
1390    
1391    ----------------------------------------------------------------------
1392    Name: Matthias Blume (http://www.tti-c.org/blume/)
1393    Date: 2005/12/16 00:15:00 CST
1394    Tag: blume-20051216-cm
1395    Description:
1396    
1397    Improved error reporting and handling in CM.
1398    
1399    ----------------------------------------------------------------------
1400    Name: Matthias Blume (http://www.tti-c.org/blume/)
1401    Date: 2005/11/21 14:00:00 CST
1402    Tag: blume-20051121-html-lib
1403    Description:
1404    
1405    Enabling $/html-lib.cm in config/preloads did not work.  This is fixed
1406    now.  (Since the anchor mapping for html-lib.cm is not yet in effect
1407    at the time when config/preloads is processed, the library has to
1408    be referred to by another name.  In 110.57 this would be
1409    $SMLNJ-LIB/HTML/html-lib.cm.  I arranged for $smlnj/smlnj-lib/html-lib.cm
1410    to be valid as well.)
1411    
1412    Thanks to Todd Wilson (Fresno) for alerting me to this issue.
1413    
1414    ----------------------------------------------------------------------
1415    Name: Matthias Blume (http://www.tti-c.org/blume/)
1416    Date: 2005/11/19 13:45:00 CST
1417    Tag: Release_110_57
1418    Description:
1419    
1420    Moved release tag for 110.57.
1421    
1422    ----------------------------------------------------------------------
1423    Name: Matthias Blume (http://www.tti-c.org/blume/)
1424    Date: 2005/11/19 23:35:00 CST
1425    Tag: blume-20051119-fish
1426    Description:
1427    
1428    Fixed a problem in config/install.sh where it tries to "fish" the
1429    name of the CM metadata directory from the wrong place (because
1430    the physical location of basis.cm has changed).  Also, corrected the
1431    path anchor for $/html-lib.cm.  (Thanks to M. Fluet for pointing out
1432    these problems.)
1433    
1434    ----------------------------------------------------------------------
1435    Name: Matthias Blume (http://www.tti-c.org/blume/)
1436    Date: 2005/11/16 14:30:00 CST
1437    Tag: blume-orig-110_57
1438    Description:
1439    
1440    New working version (110.57).  NEW BOOTFILES!
1441    
1442    UPDATE: The release tag has been moved to include a fix for a brown-paper-
1443            bag glitch (see above).
1444    
1445    ----------------------------------------------------------------------
1446    Name: Matthias Blume (http://www.tti-c.org/blume/)
1447    Date: 2005/11/16 10:25:00 CST
1448    Tag: blume-22051116-btrace
1449    Description:
1450    
1451    Fixed problem with bogus exception message when using back-trace
1452    facility.
1453    
1454    ----------------------------------------------------------------------
1455    Name: Matthias Blume (http://www.tti-c.org/blume/)
1456    Date: 2005/11/15 22:35:00 CST
1457    Tag: blume-22051115-array2copy
1458    Description:
1459    
1460    Added simple implementation of Array2.copy.  (Warning: mostly untested.)
1461    
1462    ----------------------------------------------------------------------
1463    Name: Matthias Blume (http://www.tti-c.org/blume/)
1464    Date: 2005/11/15 21:35:00 CST
1465    Tag: blume-22051115-versiontool
1466    Description:
1467    
1468    Reversed change to src/system/smlnj/internals/versiontool.cm.  This
1469    file gets loaded as a tool -- by the equivalent of CM.make during the
1470    run of CMB.make.  Thus, CMB's path configuration is meaningless for
1471    it.  Instead, it has the status of "user code", so it should use
1472    $/basis.cm to refer to the Basis library.  (At least that's true for
1473    the purpose of bootstrapping the previous change.  In the future it
1474    might make sense to have versiontool.cm refer to
1475    $smlnj/basis/basis.cm, i.e., the version of the Basis that the
1476    compiler itself uses.)
1477    
1478    Also patched src/system/testml to have it activate those extra anchor
1479    bindings in config/extrapathconfig.
1480    
1481    ----------------------------------------------------------------------
1482    Name: Matthias Blume (http://www.tti-c.org/blume/)
1483    Date: 2005/11/15 16:35:00 CST
1484    Tag: blume-22051115-libraries
1485    Description:
1486    
1487    This change affects the way the following libraries are tied into
1488    the system:
1489    
1490       $/basis.cm
1491       $/smlnj-lib.cm
1492       $/pp-lib.cm
1493       $/controls-lib.cm
1494       $/html-lib.cm
1495       $/ml-yacc-lib.cm
1496    
1497    These libraries are now internally (as seen from the source code
1498    of the implementation itself) known by the following names:
1499    
1500       $smlnj/basis/basis.cm
1501       $smlnj/smlnj-lib/smlnj-lib.cm
1502       $smlnj/smlnj-lib/pp-lib.cm
1503       $smlnj/smlnj-lib/controls-lib.cm
1504       $smlnj/smlnj-lib/html-lib.cm
1505       $smlnj/ml-yacc/ml-yacc-lib.cm
1506    
1507    This makes it possible to work with code that requires different
1508    versions of these libraries, and which refers to these libraries using
1509    their "default" names (i.e., the first set of names above).  In other
1510    words, one can un-define or re-define those default names without
1511    compromising the proper functioning of the compiler itself.
1512    
1513    A similar procedure had already been performed for several of the
1514    MLRISC libraries that are linked into the compiler.  I did some
1515    cleanup on this code.
1516    
1517    A new file in the config directory (named extrapathconfig) is
1518    responsible for setting up path anchors that the compiler itself does
1519    not need, but that are typically required by user code.
1520    
1521    ----------------------------------------------------------------------
1522    Name: Matthias Blume
1523    Date: 2005/11/07 17:05:00 CST
1524    Tag: blume-20051107-slice
1525    Description:
1526    
1527    Fixed erroneous out-of-bounds test in the "update" function of
1528    various *ArraySlice modules.  (Thanks to Vesa A. Norrman for pointing
1529    out the problem.)
1530    
1531    Pushed some Basis changes through ML-Lex, CML, and eXene.
1532    
1533    ----------------------------------------------------------------------
1534    Name: John Reppy (http://www.cs.uchicago.edu/~jhr)
1535    Date: 2005/11/07
1536    Description:
1537    Fixed a Basis incompatibility: The depreciated function Substring.all
1538    was removed (use Substring.full instead).
1539    
1540    ----------------------------------------------------------------------
1541    Name: John Reppy (http://www.cs.uchicago.edu/~jhr)
1542    Date: 2005/11/05
1543    Description:
1544    Tweaked interval set API in SML/NJ library; see the CHANGES file for details.
1545    
1546    ----------------------------------------------------------------------
1547    Name: Matthias Blume (http://www.tti-c.org/blume/)
1548    Date: 2005/11/02 16:25:00 CST
1549    Tag: blume-20051102-hex
1550    Description:
1551    
1552    * Runtime system bootstrap code now accepts hex digits in BOOTLIST
1553      in either upper case or lower case format.
1554    * Pushed changes to names of Pack<N>{Big,Little} structures through
1555      CML and eXene.
1556    
1557    ----------------------------------------------------------------------
1558    Name: John Reppy (http://www.cs.uchicago.edu/~jhr)
1559    Date: 2005/11/02
1560    Description:
1561    Fixed a Basis incompatibility: Pack<N>{Big,Little} structures should
1562    be called PackWord<N>{Big,Little}.
1563    
1564    ----------------------------------------------------------------------
1565    Name: John Reppy (http://www.cs.uchicago.edu/~jhr)
1566    Date: 2005/10/28
1567    Description:
1568    Fixed a minor Basis incompatibility: hex digits should be upper case.
1569    
1570    ----------------------------------------------------------------------
1571    Name: Matthias Blume (blume (at) tti - c (dot) org)
1572    Date: 2005/10/25 16:00:00 CDT
1573    Tag: Release_110_56
1574    Description:
1575    
1576    New working version (110.56).  NEW BOOTFILES!
1577    
1578    ----------------------------------------------------------------------
1579    Name: John Reppy (http://www.cs.uchicago.edu/~jhr)
1580    Date: 2005/10/25
1581    Description:
1582    Added interval sets to utility library (signatures INTERVAL_DOMAIN
1583    and INTERVAL_SET, and functor IntervalSetFn).
1584    
1585    ----------------------------------------------------------------------
1586    Name: John Reppy (http://www.cs.uchicago.edu/~jhr)
1587    Date: 2005/10/14
1588    Description:
1589    Add Zhong Shao's fix for datatype equality functions.
1590    
1591    ----------------------------------------------------------------------
1592    Name: Allen Leung (leunga (at) reservoir (dot) com)
1593    Date: 2005/10/14 12:30:00 EST
1594    Tag: leunga-20051014-x86-spill
1595    Description:
1596    
1597    Bug fix a bug found by Carl Hauser.
1598    There was a typo in the reload code for FCMP in x86SpillInstr.sml.
1599    
1600    ----------------------------------------------------------------------
1601    Name: Allen Leung (leunga (at) reservoir (dot) com)
1602    Date: 2005/10/14 11:15:00 EST
1603    Tag: leunga-20051014-x86-asm
1604    Description:
1605    
1606    Removed some debugging code in file x86Asm.sml.
1607    The function emit_operand was printing out debugging output.
1608    
1609    ----------------------------------------------------------------------
1610    Name: John Reppy
1611    Date: 2005/07/27
1612    Tag:
1613    Description:
1614    
1615    Fixed ml-lex to recognize "\r" as representing carriage return.
1616    
1617    ----------------------------------------------------------------------
1618    Name: John Reppy
1619    Date: 2005/07/27
1620    Tag:
1621    Description:
1622    
1623    Fixed ml-yacc to work on files with non-native end-of-line
1624    encodings (e.g., Windows text file on a Unix system).
1625    
1626    ----------------------------------------------------------------------
1627    Name: John Reppy
1628    Date: 2005/07/20
1629    Tag:
1630    Description:
1631    
1632    Added changes from Dominic Evans (oldmanuk (at) gmail (dot) com)
1633    to support HPUX 11.
1634    
1635    ----------------------------------------------------------------------
1636    Name: John Reppy
1637    Date: 2005/07/06
1638    Tag:
1639    Description:
1640    
1641    Changes to the SML/NJ library.  See smlnj-lib/CHANGES for details.
1642    
1643    ----------------------------------------------------------------------
1644    Name: Matthias Blume (blume (at) tti - c (dot) org)
1645    Date: 2005/07/06 00:45:00 CDT
1646    Tag: blume-20050706-slice-copy
1647    Description:
1648    
1649    Fixed reversed logic for deciding whether to "copy up" or "copy down"
1650    in *-array-slice.sml.
1651    
1652    ----------------------------------------------------------------------
1653    Name: Allen Leung (leunga (at) reservoir (dot) com)
1654    Date: 2005/05/31 17:00:00 EST
1655    Tag: leunga-20050531-cygwin-fault-2
1656    Description:
1657    
1658    A typo in the cygwin code fixed.
1659    
1660    ----------------------------------------------------------------------
1661    Name: Allen Leung (leunga (at) reservoir (dot) com)
1662    Date: 2005/05/31 16:47:00 EST
1663    Tag: leunga-20050531-cygwin-fault
1664    Description:
1665    
1666    Updated Cygwin's fault/signal handling to match the Windows version.
1667    Updated the export list.
1668    
1669    ----------------------------------------------------------------------
1670    Name: Matthias Blume (blume (at) tti - c (dot) org)
1671    Date: 2005/05/18 13:35:00 CDT
1672    Tag: Release_110_54
1673    Description:
1674    
1675    New working version (110.54).  NEW BOOTFILES!
1676    
1677    ----------------------------------------------------------------------
1678    Name: Matthias Blume (blume (at) tti - c (dot) org)
1679    Date: 2005/05/18 11:58:00 CDT
1680    Tag: blume-20050518-installer
1681    Description:
1682    
1683    Added support scripts for Mac OS X PackageMaker and modified
1684    config/install.sh so that it supports re-dumping a heap image
1685    after customization.
1686    
1687    ----------------------------------------------------------------------
1688    Name: Matthias Blume (blume (at) tti - c (dot) org)
1689    Date: 2005/05/18 10:55:00 CDT
1690    Tag: blume-20050518-realdiv-noovld
1691    Description:
1692    
1693    Un-overloaded / to work around bug in overloading resolution code.
1694    
1695    ----------------------------------------------------------------------
1696    Name: Matthias Blume (blume (at) tti - c (dot) org)
1697    Date: 2005/05/16 23:50:00 CDT
1698    Tag: blume-20050516-redump-heap
1699    Description:
1700    
1701    Added mechanism for re-creating a heap file for the interactive system
1702    after configuration variables have been changed.
1703    
1704       CM.redump_heap : string -> unit
1705    
1706    This is much like SMLofNJ.exportML, but starting from the resulting
1707    heap does not return to the caller of CM.redump_heap but
1708    restarts the interactive system from scratch.  The original call of
1709    CM.redump_heap does not return but ends the interactive session.
1710    Thus, CM.redump_heap is a lot like SMLofNJ.exportFn.
1711    
1712    Internally, redump_heap winds the dynamic execution context back to
1713    the point where the original heap image was created and re-executes
1714    the heap image generation code in the boot code.
1715    
1716    ----------------------------------------------------------------------
1717    Name: Matthias Blume (blume (at) tti - c (dot) org)
1718    Date: 2005/05/09 21:55:00 CDT
1719    Tag: blume-20050509-word64
1720    Description:
1721    
1722    Added a hack to the existing hack known as Word64 to make fromString
1723    behave correctly.  I am still not sure whether Word64.scan will work
1724    as specified with respect to the interaction of radix and prefix.
1725    
1726    ----------------------------------------------------------------------
1727    Name: Allen Leung (leunga (at) reservoir (dot) com)
1728    Date: 2005/05/04 11:50:00 EST
1729    Tag: leunga-20050504-checkgc
1730    Description:
1731    
1732    Added a gc protocol checking phase.  This phase is enabled with
1733    the flag "check-gc".  "debug-check-gc" turns on the verbose mode.
1734    
1735    ----------------------------------------------------------------------
1736    Name: Matthias Blume (blume (at) tti - c (dot) org)
1737    Date: 2005/05/04 10:45:00 CDT
1738    Tag: blume-20050504-intinf
1739    Description:
1740    
1741    Fixed a bug in the implementation of div and mod for IntInf.
1742    Thanks to Neophytos Michael for reporting the problem.
1743    
1744    ----------------------------------------------------------------------
1745    Name: Matthias Blume (blume (at) tti - c (dot) org)
1746    Date: 2005/05/04 10:35:00 CDT
1747    Tag: blume-20050504-join
1748    Description:
1749    
1750    Added a "join" combinator to the ParserComb module in smlnj-lib.cm.
1751    
1752    ----------------------------------------------------------------------
1753    Name: Matthias Blume (blume (at) tti - c (dot) org)
1754    Date: 2005/02/28 23:40:00 CST
1755    Tag: blume-20050228-mVar
1756    Description:
1757    
1758    Fixed serious bug (brown paper bag variety) in new implementation of
1759    structure Atom in CML.  (I had accidentally used a mailbox instead of
1760    an mvar, leaving the door open for races.)
1761    
1762    ----------------------------------------------------------------------
1763    Name: Matthias Blume (blume (at) tti - c (dot) org)
1764    Date: 2005/02/25 15:00:00 CST
1765    Tag: Release_110_53
1766    Description:
1767    
1768    New working version (110.53).  NEW BOOTFILES!
1769    
1770    ----------------------------------------------------------------------
1771    Name: Matthias Blume (blume (at) tti - c (dot) org)
1772    Date: 2005/02/25 14:50:00 CST
1773    Tag: blume-20050225-susp
1774    Description:
1775    
1776    Brought back SMLofNJ.Susp.  The underlying suspension type is the one
1777    implemented in Core -- which means that it is the same as the one used
1778    by the lazy extension.
1779    
1780    ----------------------------------------------------------------------
1781    Name: Matthias Blume (blume (at) tti - c (dot) org)
1782    Date: 2005/02/24 16:50:00 CST
1783    Tag: blume-20050224-cml-atom
1784    Description:
1785    
1786    Simpler and at the same time more general implementation of structure
1787    Atom in CML.
1788    
1789    ----------------------------------------------------------------------
1790    Name: Matthias Blume (blume (at) tti - c (dot) org)
1791    Date: 2005/02/15 17:35:00 CST
1792    Tag: blume-20050215-tools
1793    Description:
1794    
1795    Created new "tools" directory under "src" and moved "TraceDebugProf"
1796    there.
1797    
1798    ----------------------------------------------------------------------
1799    Name: Matthias Blume (blume (at) tti - c (dot) org)
1800    Date: 2005/02/10 17:55:00 CST
1801    Tag: blume-20050210-longlong
1802    Description:
1803    
1804    Implemented "long long" arguments and results for NLFFI.  (Only the
1805    PPC/MacOS implementation is complete, the other backends still need to
1806    be updated.)
1807    
1808    ----------------------------------------------------------------------
1809    Name: Matthias Blume (blume (at) tti - c (dot) org)
1810    Date: 2005/01/24 17:40:00 CST
1811    Tag: blume-20050124-mlyacc
1812    Description:
1813    
1814    Minor cleanup in ML-Yacc rule printing mechanism.  This should fix a
1815    problem with certain "as" patterns which previously got rendered
1816    using incorrect syntax.
1817    
1818    ----------------------------------------------------------------------
1819    Name: Matthias Blume (blume (at) tti - c (dot) org)
1820    Date: 2005/01/18 12:00:00 CST
1821    Tag: blume-20050118-profile
1822    Description:
1823    
1824    Made time profiling code (interrupt handler) in runtime system aware
1825    of new array representation.
1826    
1827    ----------------------------------------------------------------------
1828    Name: Matthias Blume (blume (at) tti - c (dot) org)
1829    Date: 2005/01/14 18:00:00 CST
1830    Tag: blume-20050114-heap2exec
1831    Description:
1832    
1833    Implemented new (but still experimental) heap2exec facility.  This is
1834    tested under Mac OS X and should work under Linux (will test shortly).
1835    It will probably also work on the Sparc (will test some time later).
1836    
1837      - removed old "HACKED_STANDALONE" hack from runtime
1838    
1839    To be able to test this, uncomment the request for "heap2asm" in
1840    config/targets prior to installation.  (Notice that this is different
1841    from "heap2exec" mentioned below.  Not a typo.)
1842    
1843    To perform an actual test, run the command
1844    
1845       $ bin/heap2exec heapfile execfile
1846    
1847    (You can put heap2exec on your shell's path.)
1848    
1849    For example, run
1850    
1851      $ bin/heap2exec bin/.heap/ml-yacc.ppc-darwin mly
1852    
1853    This will create a standalone executable called "mly" which you can
1854    then invoke directly as a command.
1855    
1856    ----------------------------------------------------------------------
1857    Name: Matthias Blume (blume (at) tti - c (dot) org)
1858    Date: 2005/01/07 11:44:00 CST
1859    Tag: blume-20050107-mlstring
1860    Description:
1861    
1862    fixed off-by-one error in ML_STRING macro (globals.c)
1863    
1864    ----------------------------------------------------------------------
1865    Name: Matthias Blume (blume (at) tti - c (dot) org)
1866    Date: 2004/12/23 18:00:00 CST
1867    Tag: blume-20041223-santa
1868    Description:
1869    
1870    Made ml-build script "smarter" (but only very little).
1871    
1872    ----------------------------------------------------------------------
1873    Name: Matthias Blume (blume (at) tti - c (dot) org)
1874    Date: 2004/12/21 15:05:00 CST
1875    Tag: blume-20041221-longlong
1876    Description:
1877    
1878    * Implemented access to signed and unsigned long long data in NLFFI.
1879    (The parameter-passing part of the picture has not complete. But
1880    data structure access seems to work.)
1881    
1882    * Fixed CM's incorrect assumption that the PPC is little-endian.
1883      (On the Mac, it is big-endian.  And that's currently our only
1884      PPC platform.)
1885    
1886    ----------------------------------------------------------------------
1887    Name: Matthias Blume (blume (at) tti - c (dot) org)
1888    Date: 2004/12/21 12:50:00 CST
1889    Tag: blume-20041221-memory
1890    Description:
1891    
1892    Some cleanup in the $c/memory.cm library: separated some concerns by
1893    moving allocation code and memory access code each into their own
1894    files.
1895    
1896    ----------------------------------------------------------------------
1897    Name: Allen Leung (leunga (at) reservoir (dot) com)
1898    Date: 2004/12/17 16:12:00 EST
1899    Tag: leunga-20041217-cygwin-smlnj-home
1900    Description:
1901    
1902        The Unix I/O library of SML/NJ on cygwin does not understand
1903    Windows style pathname, so problems arise when SMLNJ_HOME is set
1904    to a Windows style pathname.  _run-sml now converts SMLNJ_HOME
1905    to a POSIX pathname on cygwin.
1906    
1907    ----------------------------------------------------------------------
1908    Name: Matthias Blume (blume (at) tti - c (dot) org)
1909    Date: 2004/12/16 13:35:00 CST
1910    Tag: Release_110_52
1911    Description:
1912    
1913    Last-minute changes incorporated into 110.52.  Release tag moved.
1914    
1915    The changes:
1916       - HashString.hashString' -> HashString.hashSubstring
1917       - bug fix in UnivariateStats
1918    
1919    ----------------------------------------------------------------------
1920    Name: Matthias Blume (blume (at) tti - c (dot) org)
1921    Date: 2004/12/15 23:40:00 CST
1922    Tag: blume-20041215-hashSubstring
1923    Description:
1924    
1925    - HashString.hashString' -> HashString.hashSubstring
1926    - corresponding changes in atom.sml
1927    - "de-compressed" (aka. un-obfuscated) code for UnivariateStats and
1928      added some comments
1929    
1930    ----------------------------------------------------------------------
1931    Name: Matthias Blume (blume (at) tti - c (dot) org)
1932    Date: 2004/12/15 15:30:00 CST
1933    Tag: (Release_110_52)
1934    Description:
1935    
1936    New working version (110.52).  NEW BOOTFILES!
1937    
1938    ----------------------------------------------------------------------
1939    Name: Matthias Blume (blume (at) tti - c (dot) org)
1940    Date: 2004/12/15 12:45:00 CST
1941    Tag: blume-20041215-spaces
1942    Description:
1943    
1944    More on the space problem (this time for Win32).
1945    
1946    ----------------------------------------------------------------------
1947    Name: Matthias Blume (blume (at) tti - c (dot) org)
1948    Date: 2004/12/14 17:30:00 CST
1949    Tag: blume-20041214-spaces
1950    Description:
1951    
1952    Hacked some of the scripts (in particular: the installer) to cope with
1953    spaces in filenames a bit better.  But beware: the current "solution"
1954    is likely still full of bugs and inherently incomplete.  (We need to
1955    do away with those shell scripts for a comprehensive solution.)
1956    
1957    ----------------------------------------------------------------------
1958    Name: Matthias Blume (blume (at) tti - c (dot) org)
1959    Date: 2004/12/13 14:45:00 CST
1960    Tag: blume-20041213-ml-makedepend
1961    Description:
1962    
1963    Fixed bug in code for ml-makedepend.
1964    
1965    ----------------------------------------------------------------------
1966    Name: Matthias Blume (blume (at) tti - c (dot) org)
1967    Date: 2004/12/09 16:30:00 CST
1968    Tag: blume-20041209-statistics
1969    Description:
1970    
1971    Added two simple but potentially useful statistics modules to SML/NJ Library.
1972    (See CHANGES file there.)
1973    
1974    ----------------------------------------------------------------------
1975    Name: Matthias Blume (blume (at) tti - c (dot) org)
1976    Date: 2004/12/01 16:50:00 CST
1977    Tag: blume-20041201-atom
1978    Description:
1979    
1980    smlnj-lib:
1981    
1982      Added function HashString.hashString' for substrings.
1983      Hand-inlined CharVector.foldl into HashString (for speed).
1984      Modified implementation of structure Atom to avoid extracting
1985      strings from substrings unless necessary.
1986      (Also see CHANGES file for smlnj-lib.)
1987    
1988    ----------------------------------------------------------------------
1989    Name: Matthias Blume (blume (at) tti - c (dot) org)
1990    Date: 2004/11/24 22:15:00 CST
1991    Tag: blume-20041124-cml
1992    Description:
1993    
1994    Made sure CML compiles when Position = Int64.
1995    
1996    ----------------------------------------------------------------------
1997    Name: Matthias Blume (blume (at) tti - c (dot) org)
1998    Date: 2004/11/24 14:30:00 CST
1999    Tag: blume-20041124-position
2000    Description:
2001    
2002    The compiler can now be compiled in a mode that makes structure Position
2003    equal to Int64.  The default, however, is unchanged (Position = Int31)
2004    for the time being.
2005    
2006    To enable 64-bit positions, use the following procedure:
2007    
2008    1. Start sml
2009    2. Autoload $smlnj/cmb.cm (if not already autoloaded)
2010    3. Type
2011          #set (CMB.symval "USE_64_BIT_POSITIONS") (SOME 1);
2012    4. Run CMB.make() as usual.
2013    
2014    This is barely tested.  The only test so far was a little SML program
2015    counting the number of characters in an 8-gigabyte file by
2016    reading it character-by-character.  That test was successful.
2017    
2018    In support of 64-bit positions, a number of new functions have been
2019    added to the runtime system.
2020    
2021    ----------------------------------------------------------------------
2022    Name: Matthias Blume (blume (at) tti - c (dot) org)
2023    Date: 2004/11/23 14:45:00 CST
2024    Tag: blume-20041123-useFile
2025    Description:
2026    
2027    Fixed a problem with unhelpful error messages related to problems with
2028    .cm- or .sml files that appear as part of the sml command line.
2029    
2030    ----------------------------------------------------------------------
2031    Name: Matthias Blume (blume (at) tti - c (dot) org)
2032    Date: 2004/11/18 15:40:00 CST
2033    Tag: Release_110_51
2034    Description:
2035    
2036    New working version (110.51).  NEW BOOTFILES!
2037    
2038    ----------------------------------------------------------------------
2039    Name: Matthias Blume (blume (at) tti - c (dot) org)
2040    Date: 2004/11/18 15:35:00 CST
2041    Tag: <none>
2042    Description:
2043    
2044    Enabled dlopen and friends for FreeBSD (as recommended by Johannes 5
2045    Joemann).
2046    
2047    ----------------------------------------------------------------------
2048    Name: Allen Leung (leunga (at) reservoir (dot) com)
2049    Date: 2004/11/17 16:05:21 EST 2004
2050    Tag: leunga-20041117-mlrisc-live-kill
2051    Description:
2052    
2053       Added support for MLTree constructs LIVE and KILL
2054    to all the architectures.
2055    
2056    ----------------------------------------------------------------------
2057    Name: Matthias Blume (blume (at) tti - c (dot) org)
2058    Date: 2004/11/13 00:20:00 CST
2059    Tag: blume-20041113-versiontool
2060    Description:
2061    
2062    - Stripped down the versiontool: It now only handles the version number.
2063      The date string is generated at bootstrap time (during makeml).
2064    
2065    - In a previous commit, fixed a minor issue with how polyequal is being
2066      translated.  In particular, the code now "looks through" abstractions.
2067      This results in slightly fewer polyEqual warnings and hopefully slightly
2068      more efficient code.  Important examples for where this matters are
2069      the new int64 and word64 types.
2070    
2071    ----------------------------------------------------------------------
2072    Name: Matthias Blume (blume (at) tti - c (dot) org)
2073    Date: 2004/11/12 00:30:00 CST
2074    Tag: blume-20041112-int64
2075    Description:
2076    
2077    Structure Int64 fully hooked in.  (The implementation is not very
2078    efficient, though.)
2079    
2080    ----------------------------------------------------------------------
2081    Name: Matthias Blume (blume (at) tti - c (dot) org)
2082    Date: 2004/11/11 17:30:00 CST
2083    Tag: blume-20041111-more64
2084    Description:
2085    
2086    All the pieces of Word64 are now there, with the exception of the
2087    conversions from and to LargeWord. (Eventually these need to be identities,
2088    but for the time being they don't even make sense because LargeWord is
2089    32-bit wide.)
2090    
2091    Also started to add similar support for Int64, but major pieces of that
2092    are still missing.
2093    
2094    ----------------------------------------------------------------------
2095    Name: Matthias Blume (blume (at) tti - c (dot) org)
2096    Date: 2004/11/11 00:15:00 CST
2097    Tag: blume-20041111-word64
2098  Description:  Description:
2099    
2100    Structure Word64 is now (almost) complete, word literals and patterns
2101    seem to work.  There are a few odd pieces missing.  In particular,
2102    I didn't do the {from,to}LargeWord parts because LargeWord is still Word32
2103    at the moment.
2104    
2105    Making Word64 official would mean that LargeWord becomes Word64.  But
2106    this requires extreme care because most word-word conversions have to
2107    go through LargeWord, so making a mistake means loss of efficiency or
2108    worse.  Eventually there will be a solution similar to (but actually
2109    simpler than) what I did with IntInf.
2110    
2111    ----------------------------------------------------------------------
2112    Name: Matthias Blume (blume (at) tti - c (dot) org)
2113    Date: 2004/11/10 18:12:00 CST
2114    Tag: blume-20041110-64bit
2115    Description:
2116    
2117    More 64-bit hacking (but still not even half-way there yet).
2118    Also, some assorted improvements to the handling of 8-bit words.
2119    
2120    ----------------------------------------------------------------------
2121    Name: Matthias Blume (blume (at) tti - c (dot) org)
2122    Date: 2004/11/09 17:50:00 CST
2123    Tag: <none>
2124    Description:
2125    
2126    Started adding some infrastructure for supporting 64-bit int- and
2127    word-types.  (Still in its very early stages.)
2128    
2129    ----------------------------------------------------------------------
2130    Name: Matthias Blume (blume (at) tti - c (dot) org)
2131    Date: 2004/10/28 10:45:00 CDT
2132    Tag: Release_110_50
2133    Description:
2134    
2135    New working version (110.50).  NEW BOOTFILES!
2136    
2137                 =====================
2138    
2139    Also:
2140    
2141      - Changend config/srcarchiveurl from a file just
2142        containing the URL string into a file containing
2143        shell script code.  The code has access to the $VERSION variable.
2144      - Made corresponding changes to config/install.sh and config/unpack.
2145      - Default contents of config/srcarchiveurl uses $VERSION and
2146        normally does not have to be edited to reflect a version change.
2147    
2148      (As a result, a version change can be done by just editing
2149       config/version, the rest is now automatic.)
2150    
2151    ----------------------------------------------------------------------
2152    Name: Matthias Blume (blume (at) tti - c (dot) org)
2153    Date: 2004/10/27 17:50:00 CDT
2154    Tag: blume-20041027-btrace-msg
2155    Description:
2156    
2157    BackTrace.monitor now also reports the source of the exception that
2158    triggered the trace.
2159    
2160    ----------------------------------------------------------------------
2161    Name: Matthias Blume (blume (at) tti - c (dot) org)
2162    Date: 2004/10/27 17:20:00 CDT
2163    Tag: blume-20041027-x86-c-calls
2164    Description:
2165    
2166    This is the HISTORY entry for two earlier commits, both concerning
2167    the x86 c-calls code in MLRISC:
2168    
2169      - added a missing LOAD in the code that deals with struct arguments
2170      - made sure the caller does not add the wrong number of bytes to the
2171        stack pointer after a call of a function returning a struct
2172        (the callee already pops the implicit argument which points to
2173         the space reserved for the result)
2174    
2175    ----------------------------------------------------------------------
2176    Name: Allen Leung (leunga (at) reservoir (dot) com)
2177    Date: 2004/10/24 14:00:00 EST
2178    Tag: leunga-20041024-x86-gas-fucomip
2179    Description:
2180    
2181       John discovered a bug in the syntax of fucomip.
2182       The opcodes FU?COMIP? have been changed to
2183    
2184           fu?comip? %st(i), %st
2185    
2186    ----------------------------------------------------------------------
2187    Name: Matthias Blume (blume (at) tti - c (dot) org)
2188    Date: 2004/10/20 15:06:00 CDT
2189    Tag: blume-20041020-standalone-backtrace
2190    Description:
2191    
2192    Added a mechanism for getting back-trace information from standalone
2193    programs.  Here is how it works:
2194    
2195       1. The part of the program from which you want to get backtrace
2196          information (usually the whole program) should be wrapped with
2197          BackTrace.monitor.  This is a (unit->'a)->'a function, and your
2198          main program could be modified from something like
2199    
2200             fun main (pgm, args) = ...
2201    
2202         to
2203    
2204            fun main (pgm, args) = BackTrace.monitor (fn () => ...)
2205    
2206       2. To be able to access BackTrace.monitor, you have to add
2207          library $smlnj-tdp/plugins.cm to the .cm file that contains your
2208          main function.
2209    
2210       3. Remove all compiled code (i.e., all the .cm/ subdirectories that
2211          CM might have created in the past for your project).
2212    
2213       4. Build the system using this command line:
2214    
2215             ml-build -Ctdp.instrument=true \$smlnj-tdp/back-trace.cm \
2216                      myprog.cm MyProg.main myprog
2217    
2218          instead of the usual
2219    
2220             ml-build myprog.cm MyProg.main myprog
2221    
2222    I changed a library name:
2223    
2224       $/trace-debug-profile.cm --> $smlnj-tdp/plugins.cm
2225    
2226    New libraries:
2227    
2228       $smlnj-tdp/back-trace.cm
2229          -- when loaded causes the back-trace plugin to be installed
2230       $smlnj-tdp/coverage.cm
2231          -- when loaded causes the coverage plugin to be installed
2232    
2233    ----------------------------------------------------------------------
2234    Name: Matthias Blume (blume (at) tti - c (dot) org)
2235    Date: 2004/10/18 16:45:00 CDT
2236    Tag: blume-20041018-groupowner
2237    Description:
2238    
2239    Added an "obsolete" warning for the "group owner" syntax to CM's parser.
2240    
2241    Eliminated group owner specs from .cm files throughout the source tree.
2242    
2243    ----------------------------------------------------------------------
2244    Name: Matthias Blume (blume (at) tti - c (dot) org)
2245    Date: 2004/10/15 15:45:00 CDT
2246    Tag: blume-20041015-coverage
2247    Description:
2248    
2249    * Test coverage tool added!
2250    * Further reorganization of tracing-, debugging-, and profiling support:
2251    
2252        - moved original BTImp -- now called BackTrace -- into a separate
2253          library called $/trace-debug-profile.cm
2254        - eliminated all mentions of BTrace from SMLofNJ.Internals
2255        - only the instrumentation mechanism is now left in the compiler proper
2256        - BackTrace module is a plugin which is NOT plugged in by default
2257        - Coverage module is another such plugin
2258    
2259    To get the benefits of any of these plugin modules, the code in
2260    question must be compiled with tdp instrumentation turned on.  This
2261    can be done by setting SMLofNJ.Internals.TDP.mode to true.
2262    (The ref cell is also controlled via the -Ctdp.instrument=... switch.)
2263    
2264    Plugins are selected at link time.  (Pre-compiled instrumented code
2265    can be re-loaded with different plugins in effect.)  When an
2266    instrumented module is linked, whatever plugins are at that time
2267    enabled will come into effect for that module.
2268    
2269    To enable the back-trace plugin, load library $/trace-debug-profile.cm
2270    and invoke BackTrace.install() (e.g., from the interactive prompt).
2271    To enable the coverage plugin, load the same library and invoke
2272    Coverage.install().
2273    
2274    Back-traces are generated automatically on uncaught exceptions and
2275    when the code in question explicitly invokes BackTrace.trigger().
2276    
2277    Coverage (and execution frequency-) information must be queried
2278    explicitly by calling Coverage.not_covered and Coverage.hot_spots.
2279    
2280    ----------------------------------------------------------------------
2281    Name: Matthias Blume (blume (at) tti - c (dot) org)
2282    Date: 2004/10/14 17:40:00 CDT
2283    Tag: blume-20041014-tdp-core
2284    Description:
2285    
2286    Snapshot of a significant overhaul of how the trace/debug/profile support
2287    is hooked into the system (specifically: Core and SMLofNJ.Internals).
2288    
2289    ----------------------------------------------------------------------
2290    Name: Matthias Blume (blume (at) tti - c (dot) org)
2291    Date: 2004/10/13 16:34:00 CDT
2292    Tag: blume-20041013-tdp
2293    Description:
2294    
2295    Some rationalization of names:
2296    
2297       structure BTrace -> structure TDPInstrument
2298       etc.
2299    
2300    This is is preparation of using the original back-trace
2301    instrumentation for other purposes.  "TDP" stands for
2302    Trace/Debug/Profile.
2303    
2304    The control flag controlling whether instrumentation is on or off is now
2305    registered under a different name, so instead of running sml as
2306    
2307     sml -Cinstrument.btrace-mode=true
2308    
2309    one has to say
2310    
2311     sml -Ctdp.instrument=true
2312    
2313    ----------------------------------------------------------------------
2314    Name: Matthias Blume (blume (at) tti - c (dot) org)
2315    Date: 2004/10/11 16:37:00 CDT
2316    Tag: blume-20041011-regions
2317    Description:
2318    
2319    Made some minor modifications to elabcore.sml to have source regions
2320    be propagated more tightly -- resulting in better (i.e., smaller)
2321    regions being reported in error- and debug messages.
2322    
2323    ----------------------------------------------------------------------
2324    Name: Matthias Blume (blume (at) tti - c (dot) org)
2325    Date: 2004/10/08 22:50:00 CDT
2326    Tag: blume-20041008-cmkw
2327    Description:
2328    
2329    Fixed handling of keywords in .cm files: After seeing "is" the lexer
2330    treats subsequent occurrences of "group", "library", "source", "is",
2331    "*", and "-" as ordinary identifiers rather than keywords.
2332    
2333    Most seriously, this fixes a problem with CM's "shell" tool.  The tool
2334    is supposed to accept a tool argument called "source", but this did
2335    not work because of the clash with the keyword.
2336    
2337    ----------------------------------------------------------------------
2338    Name: Matthias Blume (blume (at) tti - c (dot) org)
2339    Date: 2004/10/07 16:00:00 CDT
2340    Tag: blume-20041007-cleanup
2341    Description:
2342    
2343    Assorted cleanup work:
2344    
2345      - got rid of intstrmap in favor of using the library's
2346        hash table implementation
2347      - threw out most of the pathnames stuff, as it was not used anyway
2348      - simplified tokentable implementation
2349      - fixed some minor spelling errors
2350    
2351    ----------------------------------------------------------------------
2352    Name: Matthias Blume (blume (at) tti - c (dot) org)
2353    Date: 2004/10/06 15:15:15 CDT
2354    Tag: blume-20041006-handler
2355    Description:
2356    
2357    Cleaned up the absyn to reflect the invariant that HANDLE always
2358    carries a FNexp as part of the type definition.  This eliminates some
2359    superfluous sanity checks at runtime down the road.
2360    
2361    Some minor cleanup of the btrace code.
2362    
2363    ----------------------------------------------------------------------
2364    Name: Matthias Blume (blume (at) tti - c (dot) org)
2365    Date: 2004/10/01 10:20:30 CDT
2366    Tag: blume-20041001-slave
2367    Description:
2368    
2369    Added hack to make slave mode work in the presence of the version
2370    tool.  (Still, since the master does two passes over the code for
2371    CMB.make, the release number gets bumped twice when slaves are
2372    attached.  I don't know if this is worth fixing...)
2373    
2374    ----------------------------------------------------------------------
2375    Name: Matthias Blume (blume (at) tti - c (dot) org)
2376    Date: 2004/09/30 10:55:00 CDT
2377    Tag: blume-20040930-version
2378    Description:
2379    
2380    * Moved the "version" magic into its own little library under
2381      src/system/smlnj/internal.  This avoids expensive reconstruction of
2382      a stable src/compiler/core.cm.
2383    
2384    * At the same time, structure CompilerVersion is now known as
2385      structure SMLNJVersion.
2386    
2387    * Arranged for the version tool to NOT kick in when rebuilding the system
2388      (makeml -rebuild, fixpt).  Otherwise one would never reach a fixpoint.
2389      Also, loading the versiontool does not work when rebuilding the system
2390      because CM is not properly initialized at that time.
2391    
2392  ----------------------------------------------------------------------  ----------------------------------------------------------------------
2393  Name: Matthias Blume (blume (at) tti - c (dot) org)  Name: Matthias Blume (blume (at) tti - c (dot) org)
2394  Date: 2004/09/29 14:00:00 CDT  Date: 2004/09/29 14:00:00 CDT

Legend:
Removed from v.1638  
changed lines
  Added in v.3574

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