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