Home My Page Projects Code Snippets Project Openings SML/NJ
Summary Activity Forums Tracker Lists Tasks Docs Surveys News SCM Files

SCM Repository

[smlnj] Diff of /sml/trunk/NOTES/HISTORY
ViewVC logotype

Diff of /sml/trunk/NOTES/HISTORY

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

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

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

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