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

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