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/branches/primop-branch-3/NOTES/HISTORY
ViewVC logotype

Diff of /sml/branches/primop-branch-3/NOTES/HISTORY

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

revision 1390, Wed Sep 24 20:34:06 2003 UTC revision 2066, Thu Oct 5 16:26:30 2006 UTC
# Line 7  Line 7 
7    
8  The form of an entry should be:  The form of an entry should be:
9    
10  Name:  
11    Name: Your Name (web page or e-mail)
12    Date: yyyy/mm/dd hh:mm:ss
13    Tag: cvs-tag-for-this-change
14    Description:
15    
16    ----------------------------------------------------------------------
17    Name: Matthias Blume (http://www.tti-c.org/blume/)
18    Date: 2006/10/05 11:30:00 CDT
19    Tag: blume-20061005-merge-amd64
20    Description:
21    
22    Merged code for AMD64 backend (Mike Rainey's work).
23    Everything is hooked up but untested.
24    
25    ----------------------------------------------------------------------
26    Name: Matthias Blume (http://www.tti-c.org/blume/)
27    Date: 2006/05/17 14:00:00 CST
28    Tag: Release_110_59
29    Description:
30    
31    New working version (110.58).  NEW BOOTFILES!
32    
33    I am freezing 110.59.  Changes other than the version-number increase:
34    
35      eXene:
36    
37         * committed changes to eXene from Alley Stoughton:
38             "fixed bugs in X authorization and resource handling, as well
39              as in the pile and viewport widgets"
40    
41      Runtime:
42        * fixed linking problem with NetBSD 3.x.
43    
44      Lexgen:
45        * lexgen tool handles non-ascii characters in 7-bit mode the same
46          way that ml-lex does
47    
48        * lexgen propagates exceptions the same way that ml-lex does
49    
50      CML:
51        * Fixed a bug in the SyncVar polling functions (iGetPoll,
52          mTakePoll, and mGetPoll) that could lead to livelock.
53    
54    ----------------------------------------------------------------------
55    Name: Matthias Blume (http://www.tti-c.org/blume/)
56    Date: 2006/05/12 15:20:00 CST
57    Tag: blume-20060515-makedepend
58    Description:
59    
60    Implemented ml-makedepend (i.e., CM.sources) in a better (more robust)
61    way.  This should hopefully fix the ml-makedepend problem permanently.
62    
63    ----------------------------------------------------------------------
64    Name: Matthias Blume (http://www.tti-c.org/blume/)
65    Date: 2006/05/12 15:15:00 CST
66    Tag: blume-20060512-makedepend
67    Description:
68    
69    Fixed long-standing bug with ml-makedepend where it would output a
70    spurious dependency to a non-existing file.  (This is a simple fix.
71    It might need further looking into.)
72    
73    ----------------------------------------------------------------------
74    Name: Matthias Blume (http://www.tti-c.org/blume/)
75    Date: 2006/04/20 10:30:00 CDT
76    Tag: blume-20060420-heap2exec
77    Description:
78    
79    Committed patches received from Johannes 5 Joemann (joemann@befree.free.de)
80    that enable heap2exec under Linux and FreeBSD.
81    
82    ----------------------------------------------------------------------
83    Name: John Reppy
84    Date: 2006/04/14
85    Tag:
86    Description:
87    
88    MLRISC changes:
89      1) renamed GAS_PSEUDO_OPS to AS_PSEUDO_OPS and put it in its own file.
90      2) added support for NOTB and XORB operators in pseudo-op expressions
91      3) added DarwinPseudoOp functor that supports Darwin's assembler syntax.
92      4) added support for 64-bit integer literals
93    
94    ----------------------------------------------------------------------
95    Name: Matthias Blume (http://www.tti-c.org/blume/)
96  Date: yyyy/mm/dd  Date: yyyy/mm/dd
97  Tag: <post-commit CVS tag>  Tag: Release_110_58
98    Description:
99    
100    New working version (110.58).  NEW BOOTFILES!
101    
102    ----------------------------------------------------------------------
103    Name: Matthias Blume (http://www.tti-c.org/blume/)
104    Date: 2006/03/01 22:15:00 CST
105    Tag: blume-20060301-lexgen
106    Description:
107    
108    Incorporated several bugfixes to lexgen.  Compiler now compiles to
109    fixpoint when using lexgen instead of ml-lex.
110    
111    ----------------------------------------------------------------------
112    Name: Matthias Blume (http://www.tti-c.org/blume/)
113    Date: 2006/02/28 22:45:00 CST
114    Tag: blume-20060228-lexgen
115    Description:
116    
117    Removed ml-flex and added lexgen instead, using Aaron Turon's newly
118    provided tarball.  The generated lexers still have problems.
119    
120    ----------------------------------------------------------------------
121    Name: Matthias Blume (http://www.tti-c.org/blume/)
122    Date: 2006/02/26 23:30:00 CST
123    Tag: blume-20060226-ml-flex
124    Description:
125    
126    Removed ml-flex' dependency on regexp-lib.cm.  Turned installation
127    of ml-flex on by default.
128    
129    ----------------------------------------------------------------------
130    Name: Matthias Blume (http://www.tti-c.org/blume/)
131    Date: 2006/02/24 16:30:00 CST
132    Tag: blume-20060224-ml-flex
133    Description:
134    
135    Added ml-flex sources.  Partially integrated, but should not be
136    turned on yet!  (Read: leave it commented-out in config/targets!)
137    
138    ----------------------------------------------------------------------
139    Name: John Reppy (http://www.cs.uchicago.edu/~jhr)
140    Date: 2006/02/23
141    Tag: jhr-20060223-x86-64
142    Description:
143    Changes to support building on x86-64 systems (using the 32-bit mode).
144    Also cleaned up signal handling on Linux.  Support for pre-2.2 Linux
145    kernels dropped.
146    
147    ----------------------------------------------------------------------
148    Name: Allen Leung (leunga (at) reservoir (dot) com)
149    Date: 2006/02/22 15:07:00 EST
150    Tag: leunga-20060222-mdl-gen
151    Description:
152    
153      CM has changed.  Updated the script for rebuilding the MLRISC generated
154    files.
155    
156    ----------------------------------------------------------------------
157    Name: Matthias Blume (http://www.tti-c.org/blume/)
158    Date: 2006/02/14 17:30:00 CST
159    Tag: blume-20060214-intel-mac
160    Description:
161    
162    Hooked code for Darwin-specific Intel ABI into main compiler.
163    (This is a temporary solution which relies on the fact that the
164    compiler itself does not use NLFFI.  Eventually we need to divorce
165    intel mac from generic x86 unix code and make separate sets of binaries.)
166    
167    ----------------------------------------------------------------------
168    Name: John Reppy (http://www.cs.uchicago.edu/~jhr)
169    Date: 2006/02/13
170    Tag: jhr-20060213-intel-mac
171    Description:
172    Changed MLRISC x86 CCalls for partial support of MacOS X ABI.
173    
174    ----------------------------------------------------------------------
175    Name: John Reppy (http://www.cs.uchicago.edu/~jhr)
176    Date: 2006/02/06
177    Tag: jhr-20060206-intel-mac
178    Description:
179    Changes to support MacOS X on Intel hardware.  The C-calls support in
180    MLRISC must also be updated to support the MacOS X ABI.
181    
182    ----------------------------------------------------------------------
183    Name: Matthias Blume (http://www.tti-c.org/blume/)
184    Date: 2005/12/16 00:15:00 CST
185    Tag: blume-20051216-cm
186    Description:
187    
188    Improved error reporting and handling in CM.
189    
190    ----------------------------------------------------------------------
191    Name: Matthias Blume (http://www.tti-c.org/blume/)
192    Date: 2005/11/21 14:00:00 CST
193    Tag: blume-20051121-html-lib
194    Description:
195    
196    Enabling $/html-lib.cm in config/preloads did not work.  This is fixed
197    now.  (Since the anchor mapping for html-lib.cm is not yet in effect
198    at the time when config/preloads is processed, the library has to
199    be referred to by another name.  In 110.57 this would be
200    $SMLNJ-LIB/HTML/html-lib.cm.  I arranged for $smlnj/smlnj-lib/html-lib.cm
201    to be valid as well.)
202    
203    Thanks to Todd Wilson (Fresno) for alerting me to this issue.
204    
205    ----------------------------------------------------------------------
206    Name: Matthias Blume (http://www.tti-c.org/blume/)
207    Date: 2005/11/19 13:45:00 CST
208    Tag: Release_110_57
209    Description:
210    
211    Moved release tag for 110.57.
212    
213    ----------------------------------------------------------------------
214    Name: Matthias Blume (http://www.tti-c.org/blume/)
215    Date: 2005/11/19 23:35:00 CST
216    Tag: blume-20051119-fish
217    Description:
218    
219    Fixed a problem in config/install.sh where it tries to "fish" the
220    name of the CM metadata directory from the wrong place (because
221    the physical location of basis.cm has changed).  Also, corrected the
222    path anchor for $/html-lib.cm.  (Thanks to M. Fluet for pointing out
223    these problems.)
224    
225    ----------------------------------------------------------------------
226    Name: Matthias Blume (http://www.tti-c.org/blume/)
227    Date: 2005/11/16 14:30:00 CST
228    Tag: blume-orig-110_57
229    Description:
230    
231    New working version (110.57).  NEW BOOTFILES!
232    
233    UPDATE: The release tag has been moved to include a fix for a brown-paper-
234            bag glitch (see above).
235    
236    ----------------------------------------------------------------------
237    Name: Matthias Blume (http://www.tti-c.org/blume/)
238    Date: 2005/11/16 10:25:00 CST
239    Tag: blume-22051116-btrace
240    Description:
241    
242    Fixed problem with bogus exception message when using back-trace
243    facility.
244    
245    ----------------------------------------------------------------------
246    Name: Matthias Blume (http://www.tti-c.org/blume/)
247    Date: 2005/11/15 22:35:00 CST
248    Tag: blume-22051115-array2copy
249    Description:
250    
251    Added simple implementation of Array2.copy.  (Warning: mostly untested.)
252    
253    ----------------------------------------------------------------------
254    Name: Matthias Blume (http://www.tti-c.org/blume/)
255    Date: 2005/11/15 21:35:00 CST
256    Tag: blume-22051115-versiontool
257    Description:
258    
259    Reversed change to src/system/smlnj/internals/versiontool.cm.  This
260    file gets loaded as a tool -- by the equivalent of CM.make during the
261    run of CMB.make.  Thus, CMB's path configuration is meaningless for
262    it.  Instead, it has the status of "user code", so it should use
263    $/basis.cm to refer to the Basis library.  (At least that's true for
264    the purpose of bootstrapping the previous change.  In the future it
265    might make sense to have versiontool.cm refer to
266    $smlnj/basis/basis.cm, i.e., the version of the Basis that the
267    compiler itself uses.)
268    
269    Also patched src/system/testml to have it activate those extra anchor
270    bindings in config/extrapathconfig.
271    
272    ----------------------------------------------------------------------
273    Name: Matthias Blume (http://www.tti-c.org/blume/)
274    Date: 2005/11/15 16:35:00 CST
275    Tag: blume-22051115-libraries
276    Description:
277    
278    This change affects the way the following libraries are tied into
279    the system:
280    
281       $/basis.cm
282       $/smlnj-lib.cm
283       $/pp-lib.cm
284       $/controls-lib.cm
285       $/html-lib.cm
286       $/ml-yacc-lib.cm
287    
288    These libraries are now internally (as seen from the source code
289    of the implementation itself) known by the following names:
290    
291       $smlnj/basis/basis.cm
292       $smlnj/smlnj-lib/smlnj-lib.cm
293       $smlnj/smlnj-lib/pp-lib.cm
294       $smlnj/smlnj-lib/controls-lib.cm
295       $smlnj/smlnj-lib/html-lib.cm
296       $smlnj/ml-yacc/ml-yacc-lib.cm
297    
298    This makes it possible to work with code that requires different
299    versions of these libraries, and which refers to these libraries using
300    their "default" names (i.e., the first set of names above).  In other
301    words, one can un-define or re-define those default names without
302    compromising the proper functioning of the compiler itself.
303    
304    A similar procedure had already been performed for several of the
305    MLRISC libraries that are linked into the compiler.  I did some
306    cleanup on this code.
307    
308    A new file in the config directory (named extrapathconfig) is
309    responsible for setting up path anchors that the compiler itself does
310    not need, but that are typically required by user code.
311    
312    ----------------------------------------------------------------------
313    Name: Matthias Blume
314    Date: 2005/11/07 17:05:00 CST
315    Tag: blume-20051107-slice
316    Description:
317    
318    Fixed erroneous out-of-bounds test in the "update" function of
319    various *ArraySlice modules.  (Thanks to Vesa A. Norrman for pointing
320    out the problem.)
321    
322    Pushed some Basis changes through ML-Lex, CML, and eXene.
323    
324    ----------------------------------------------------------------------
325    Name: John Reppy (http://www.cs.uchicago.edu/~jhr)
326    Date: 2005/11/07
327    Description:
328    Fixed a Basis incompatibility: The depreciated function Substring.all
329    was removed (use Substring.full instead).
330    
331    ----------------------------------------------------------------------
332    Name: John Reppy (http://www.cs.uchicago.edu/~jhr)
333    Date: 2005/11/05
334    Description:
335    Tweaked interval set API in SML/NJ library; see the CHANGES file for details.
336    
337    ----------------------------------------------------------------------
338    Name: Matthias Blume (http://www.tti-c.org/blume/)
339    Date: 2005/11/02 16:25:00 CST
340    Tag: blume-20051102-hex
341  Description:  Description:
342    
343    * Runtime system bootstrap code now accepts hex digits in BOOTLIST
344      in either upper case or lower case format.
345    * Pushed changes to names of Pack<N>{Big,Little} structures through
346      CML and eXene.
347    
348    ----------------------------------------------------------------------
349    Name: John Reppy (http://www.cs.uchicago.edu/~jhr)
350    Date: 2005/11/02
351    Description:
352    Fixed a Basis incompatibility: Pack<N>{Big,Little} structures should
353    be called PackWord<N>{Big,Little}.
354    
355    ----------------------------------------------------------------------
356    Name: John Reppy (http://www.cs.uchicago.edu/~jhr)
357    Date: 2005/10/28
358    Description:
359    Fixed a minor Basis incompatibility: hex digits should be upper case.
360    
361    ----------------------------------------------------------------------
362    Name: Matthias Blume (blume (at) tti - c (dot) org)
363    Date: 2005/10/25 16:00:00 CDT
364    Tag: Release_110_56
365    Description:
366    
367    New working version (110.56).  NEW BOOTFILES!
368    
369    ----------------------------------------------------------------------
370    Name: John Reppy (http://www.cs.uchicago.edu/~jhr)
371    Date: 2005/10/25
372    Description:
373    Added interval sets to utility library (signatures INTERVAL_DOMAIN
374    and INTERVAL_SET, and functor IntervalSetFn).
375    
376    ----------------------------------------------------------------------
377    Name: John Reppy (http://www.cs.uchicago.edu/~jhr)
378    Date: 2005/10/14
379    Description:
380    Add Zhong Shao's fix for datatype equality functions.
381    
382    ----------------------------------------------------------------------
383    Name: Allen Leung (leunga (at) reservoir (dot) com)
384    Date: 2005/10/14 12:30:00 EST
385    Tag: leunga-20051014-x86-spill
386    Description:
387    
388    Bug fix a bug found by Carl Hauser.
389    There was a typo in the reload code for FCMP in x86SpillInstr.sml.
390    
391    ----------------------------------------------------------------------
392    Name: Allen Leung (leunga (at) reservoir (dot) com)
393    Date: 2005/10/14 11:15:00 EST
394    Tag: leunga-20051014-x86-asm
395    Description:
396    
397    Removed some debugging code in file x86Asm.sml.
398    The function emit_operand was printing out debugging output.
399    
400    ----------------------------------------------------------------------
401    Name: John Reppy
402    Date: 2005/07/27
403    Tag:
404    Description:
405    
406    Fixed ml-lex to recognize "\r" as representing carriage return.
407    
408    ----------------------------------------------------------------------
409    Name: John Reppy
410    Date: 2005/07/27
411    Tag:
412    Description:
413    
414    Fixed ml-yacc to work on files with non-native end-of-line
415    encodings (e.g., Windows text file on a Unix system).
416    
417    ----------------------------------------------------------------------
418    Name: John Reppy
419    Date: 2005/07/20
420    Tag:
421    Description:
422    
423    Added changes from Dominic Evans (oldmanuk (at) gmail (dot) com)
424    to support HPUX 11.
425    
426    ----------------------------------------------------------------------
427    Name: John Reppy
428    Date: 2005/07/06
429    Tag:
430    Description:
431    
432    Changes to the SML/NJ library.  See smlnj-lib/CHANGES for details.
433    
434    ----------------------------------------------------------------------
435    Name: Matthias Blume (blume (at) tti - c (dot) org)
436    Date: 2005/07/06 00:45:00 CDT
437    Tag: blume-20050706-slice-copy
438    Description:
439    
440    Fixed reversed logic for deciding whether to "copy up" or "copy down"
441    in *-array-slice.sml.
442    
443    ----------------------------------------------------------------------
444    Name: Allen Leung (leunga (at) reservoir (dot) com)
445    Date: 2005/05/31 17:00:00 EST
446    Tag: leunga-20050531-cygwin-fault-2
447    Description:
448    
449    A typo in the cygwin code fixed.
450    
451    ----------------------------------------------------------------------
452    Name: Allen Leung (leunga (at) reservoir (dot) com)
453    Date: 2005/05/31 16:47:00 EST
454    Tag: leunga-20050531-cygwin-fault
455    Description:
456    
457    Updated Cygwin's fault/signal handling to match the Windows version.
458    Updated the export list.
459    
460    ----------------------------------------------------------------------
461    Name: Matthias Blume (blume (at) tti - c (dot) org)
462    Date: 2005/05/18 13:35:00 CDT
463    Tag: Release_110_54
464    Description:
465    
466    New working version (110.54).  NEW BOOTFILES!
467    
468    ----------------------------------------------------------------------
469    Name: Matthias Blume (blume (at) tti - c (dot) org)
470    Date: 2005/05/18 11:58:00 CDT
471    Tag: blume-20050518-installer
472    Description:
473    
474    Added support scripts for Mac OS X PackageMaker and modified
475    config/install.sh so that it supports re-dumping a heap image
476    after customization.
477    
478    ----------------------------------------------------------------------
479    Name: Matthias Blume (blume (at) tti - c (dot) org)
480    Date: 2005/05/18 10:55:00 CDT
481    Tag: blume-20050518-realdiv-noovld
482    Description:
483    
484    Un-overloaded / to work around bug in overloading resolution code.
485    
486    ----------------------------------------------------------------------
487    Name: Matthias Blume (blume (at) tti - c (dot) org)
488    Date: 2005/05/16 23:50:00 CDT
489    Tag: blume-20050516-redump-heap
490    Description:
491    
492    Added mechanism for re-creating a heap file for the interactive system
493    after configuration variables have been changed.
494    
495       CM.redump_heap : string -> unit
496    
497    This is much like SMLofNJ.exportML, but starting from the resulting
498    heap does not return to the caller of CM.redump_heap but
499    restarts the interactive system from scratch.  The original call of
500    CM.redump_heap does not return but ends the interactive session.
501    Thus, CM.redump_heap is a lot like SMLofNJ.exportFn.
502    
503    Internally, redump_heap winds the dynamic execution context back to
504    the point where the original heap image was created and re-executes
505    the heap image generation code in the boot code.
506    
507    ----------------------------------------------------------------------
508    Name: Matthias Blume (blume (at) tti - c (dot) org)
509    Date: 2005/05/09 21:55:00 CDT
510    Tag: blume-20050509-word64
511    Description:
512    
513    Added a hack to the existing hack known as Word64 to make fromString
514    behave correctly.  I am still not sure whether Word64.scan will work
515    as specified with respect to the interaction of radix and prefix.
516    
517    ----------------------------------------------------------------------
518    Name: Allen Leung (leunga (at) reservoir (dot) com)
519    Date: 2005/05/04 11:50:00 EST
520    Tag: leunga-20050504-checkgc
521    Description:
522    
523    Added a gc protocol checking phase.  This phase is enabled with
524    the flag "check-gc".  "debug-check-gc" turns on the verbose mode.
525    
526    ----------------------------------------------------------------------
527    Name: Matthias Blume (blume (at) tti - c (dot) org)
528    Date: 2005/05/04 10:45:00 CDT
529    Tag: blume-20050504-intinf
530    Description:
531    
532    Fixed a bug in the implementation of div and mod for IntInf.
533    Thanks to Neophytos Michael for reporting the problem.
534    
535    ----------------------------------------------------------------------
536    Name: Matthias Blume (blume (at) tti - c (dot) org)
537    Date: 2005/05/04 10:35:00 CDT
538    Tag: blume-20050504-join
539    Description:
540    
541    Added a "join" combinator to the ParserComb module in smlnj-lib.cm.
542    
543    ----------------------------------------------------------------------
544    Name: Matthias Blume (blume (at) tti - c (dot) org)
545    Date: 2005/02/28 23:40:00 CST
546    Tag: blume-20050228-mVar
547    Description:
548    
549    Fixed serious bug (brown paper bag variety) in new implementation of
550    structure Atom in CML.  (I had accidentally used a mailbox instead of
551    an mvar, leaving the door open for races.)
552    
553    ----------------------------------------------------------------------
554    Name: Matthias Blume (blume (at) tti - c (dot) org)
555    Date: 2005/02/25 15:00:00 CST
556    Tag: Release_110_53
557    Description:
558    
559    New working version (110.53).  NEW BOOTFILES!
560    
561    ----------------------------------------------------------------------
562    Name: Matthias Blume (blume (at) tti - c (dot) org)
563    Date: 2005/02/25 14:50:00 CST
564    Tag: blume-20050225-susp
565    Description:
566    
567    Brought back SMLofNJ.Susp.  The underlying suspension type is the one
568    implemented in Core -- which means that it is the same as the one used
569    by the lazy extension.
570    
571    ----------------------------------------------------------------------
572    Name: Matthias Blume (blume (at) tti - c (dot) org)
573    Date: 2005/02/24 16:50:00 CST
574    Tag: blume-20050224-cml-atom
575    Description:
576    
577    Simpler and at the same time more general implementation of structure
578    Atom in CML.
579    
580    ----------------------------------------------------------------------
581    Name: Matthias Blume (blume (at) tti - c (dot) org)
582    Date: 2005/02/15 17:35:00 CST
583    Tag: blume-20050215-tools
584    Description:
585    
586    Created new "tools" directory under "src" and moved "TraceDebugProf"
587    there.
588    
589    ----------------------------------------------------------------------
590    Name: Matthias Blume (blume (at) tti - c (dot) org)
591    Date: 2005/02/10 17:55:00 CST
592    Tag: blume-20050210-longlong
593    Description:
594    
595    Implemented "long long" arguments and results for NLFFI.  (Only the
596    PPC/MacOS implementation is complete, the other backends still need to
597    be updated.)
598    
599    ----------------------------------------------------------------------
600    Name: Matthias Blume (blume (at) tti - c (dot) org)
601    Date: 2005/01/24 17:40:00 CST
602    Tag: blume-20050124-mlyacc
603    Description:
604    
605    Minor cleanup in ML-Yacc rule printing mechanism.  This should fix a
606    problem with certain "as" patterns which previously got rendered
607    using incorrect syntax.
608    
609    ----------------------------------------------------------------------
610    Name: Matthias Blume (blume (at) tti - c (dot) org)
611    Date: 2005/01/18 12:00:00 CST
612    Tag: blume-20050118-profile
613    Description:
614    
615    Made time profiling code (interrupt handler) in runtime system aware
616    of new array representation.
617    
618    ----------------------------------------------------------------------
619    Name: Matthias Blume (blume (at) tti - c (dot) org)
620    Date: 2005/01/14 18:00:00 CST
621    Tag: blume-20050114-heap2exec
622    Description:
623    
624    Implemented new (but still experimental) heap2exec facility.  This is
625    tested under Mac OS X and should work under Linux (will test shortly).
626    It will probably also work on the Sparc (will test some time later).
627    
628      - removed old "HACKED_STANDALONE" hack from runtime
629    
630    To be able to test this, uncomment the request for "heap2asm" in
631    config/targets prior to installation.  (Notice that this is different
632    from "heap2exec" mentioned below.  Not a typo.)
633    
634    To perform an actual test, run the command
635    
636       $ bin/heap2exec heapfile execfile
637    
638    (You can put heap2exec on your shell's path.)
639    
640    For example, run
641    
642      $ bin/heap2exec bin/.heap/ml-yacc.ppc-darwin mly
643    
644    This will create a standalone executable called "mly" which you can
645    then invoke directly as a command.
646    
647    ----------------------------------------------------------------------
648    Name: Matthias Blume (blume (at) tti - c (dot) org)
649    Date: 2005/01/07 11:44:00 CST
650    Tag: blume-20050107-mlstring
651    Description:
652    
653    fixed off-by-one error in ML_STRING macro (globals.c)
654    
655    ----------------------------------------------------------------------
656    Name: Matthias Blume (blume (at) tti - c (dot) org)
657    Date: 2004/12/23 18:00:00 CST
658    Tag: blume-20041223-santa
659    Description:
660    
661    Made ml-build script "smarter" (but only very little).
662    
663    ----------------------------------------------------------------------
664    Name: Matthias Blume (blume (at) tti - c (dot) org)
665    Date: 2004/12/21 15:05:00 CST
666    Tag: blume-20041221-longlong
667    Description:
668    
669    * Implemented access to signed and unsigned long long data in NLFFI.
670    (The parameter-passing part of the picture has not complete. But
671    data structure access seems to work.)
672    
673    * Fixed CM's incorrect assumption that the PPC is little-endian.
674      (On the Mac, it is big-endian.  And that's currently our only
675      PPC platform.)
676    
677    ----------------------------------------------------------------------
678    Name: Matthias Blume (blume (at) tti - c (dot) org)
679    Date: 2004/12/21 12:50:00 CST
680    Tag: blume-20041221-memory
681    Description:
682    
683    Some cleanup in the $c/memory.cm library: separated some concerns by
684    moving allocation code and memory access code each into their own
685    files.
686    
687    ----------------------------------------------------------------------
688    Name: Allen Leung (leunga (at) reservoir (dot) com)
689    Date: 2004/12/17 16:12:00 EST
690    Tag: leunga-20041217-cygwin-smlnj-home
691    Description:
692    
693        The Unix I/O library of SML/NJ on cygwin does not understand
694    Windows style pathname, so problems arise when SMLNJ_HOME is set
695    to a Windows style pathname.  _run-sml now converts SMLNJ_HOME
696    to a POSIX pathname on cygwin.
697    
698    ----------------------------------------------------------------------
699    Name: Matthias Blume (blume (at) tti - c (dot) org)
700    Date: 2004/12/16 13:35:00 CST
701    Tag: Release_110_52
702    Description:
703    
704    Last-minute changes incorporated into 110.52.  Release tag moved.
705    
706    The changes:
707       - HashString.hashString' -> HashString.hashSubstring
708       - bug fix in UnivariateStats
709    
710    ----------------------------------------------------------------------
711    Name: Matthias Blume (blume (at) tti - c (dot) org)
712    Date: 2004/12/15 23:40:00 CST
713    Tag: blume-20041215-hashSubstring
714    Description:
715    
716    - HashString.hashString' -> HashString.hashSubstring
717    - corresponding changes in atom.sml
718    - "de-compressed" (aka. un-obfuscated) code for UnivariateStats and
719      added some comments
720    
721    ----------------------------------------------------------------------
722    Name: Matthias Blume (blume (at) tti - c (dot) org)
723    Date: 2004/12/15 15:30:00 CST
724    Tag: (Release_110_52)
725    Description:
726    
727    New working version (110.52).  NEW BOOTFILES!
728    
729    ----------------------------------------------------------------------
730    Name: Matthias Blume (blume (at) tti - c (dot) org)
731    Date: 2004/12/15 12:45:00 CST
732    Tag: blume-20041215-spaces
733    Description:
734    
735    More on the space problem (this time for Win32).
736    
737    ----------------------------------------------------------------------
738    Name: Matthias Blume (blume (at) tti - c (dot) org)
739    Date: 2004/12/14 17:30:00 CST
740    Tag: blume-20041214-spaces
741    Description:
742    
743    Hacked some of the scripts (in particular: the installer) to cope with
744    spaces in filenames a bit better.  But beware: the current "solution"
745    is likely still full of bugs and inherently incomplete.  (We need to
746    do away with those shell scripts for a comprehensive solution.)
747    
748    ----------------------------------------------------------------------
749    Name: Matthias Blume (blume (at) tti - c (dot) org)
750    Date: 2004/12/13 14:45:00 CST
751    Tag: blume-20041213-ml-makedepend
752    Description:
753    
754    Fixed bug in code for ml-makedepend.
755    
756    ----------------------------------------------------------------------
757    Name: Matthias Blume (blume (at) tti - c (dot) org)
758    Date: 2004/12/09 16:30:00 CST
759    Tag: blume-20041209-statistics
760    Description:
761    
762    Added two simple but potentially useful statistics modules to SML/NJ Library.
763    (See CHANGES file there.)
764    
765    ----------------------------------------------------------------------
766    Name: Matthias Blume (blume (at) tti - c (dot) org)
767    Date: 2004/12/01 16:50:00 CST
768    Tag: blume-20041201-atom
769    Description:
770    
771    smlnj-lib:
772    
773      Added function HashString.hashString' for substrings.
774      Hand-inlined CharVector.foldl into HashString (for speed).
775      Modified implementation of structure Atom to avoid extracting
776      strings from substrings unless necessary.
777      (Also see CHANGES file for smlnj-lib.)
778    
779    ----------------------------------------------------------------------
780    Name: Matthias Blume (blume (at) tti - c (dot) org)
781    Date: 2004/11/24 22:15:00 CST
782    Tag: blume-20041124-cml
783    Description:
784    
785    Made sure CML compiles when Position = Int64.
786    
787    ----------------------------------------------------------------------
788    Name: Matthias Blume (blume (at) tti - c (dot) org)
789    Date: 2004/11/24 14:30:00 CST
790    Tag: blume-20041124-position
791    Description:
792    
793    The compiler can now be compiled in a mode that makes structure Position
794    equal to Int64.  The default, however, is unchanged (Position = Int31)
795    for the time being.
796    
797    To enable 64-bit positions, use the following procedure:
798    
799    1. Start sml
800    2. Autoload $smlnj/cmb.cm (if not already autoloaded)
801    3. Type
802          #set (CMB.symval "USE_64_BIT_POSITIONS") (SOME 1);
803    4. Run CMB.make() as usual.
804    
805    This is barely tested.  The only test so far was a little SML program
806    counting the number of characters in an 8-gigabyte file by
807    reading it character-by-character.  That test was successful.
808    
809    In support of 64-bit positions, a number of new functions have been
810    added to the runtime system.
811    
812    ----------------------------------------------------------------------
813    Name: Matthias Blume (blume (at) tti - c (dot) org)
814    Date: 2004/11/23 14:45:00 CST
815    Tag: blume-20041123-useFile
816    Description:
817    
818    Fixed a problem with unhelpful error messages related to problems with
819    .cm- or .sml files that appear as part of the sml command line.
820    
821    ----------------------------------------------------------------------
822    Name: Matthias Blume (blume (at) tti - c (dot) org)
823    Date: 2004/11/18 15:40:00 CST
824    Tag: Release_110_51
825    Description:
826    
827    New working version (110.51).  NEW BOOTFILES!
828    
829    ----------------------------------------------------------------------
830    Name: Matthias Blume (blume (at) tti - c (dot) org)
831    Date: 2004/11/18 15:35:00 CST
832    Tag: <none>
833    Description:
834    
835    Enabled dlopen and friends for FreeBSD (as recommended by Johannes 5
836    Joemann).
837    
838    ----------------------------------------------------------------------
839    Name: Allen Leung (leunga (at) reservoir (dot) com)
840    Date: 2004/11/17 16:05:21 EST 2004
841    Tag: leunga-20041117-mlrisc-live-kill
842    Description:
843    
844       Added support for MLTree constructs LIVE and KILL
845    to all the architectures.
846    
847    ----------------------------------------------------------------------
848    Name: Matthias Blume (blume (at) tti - c (dot) org)
849    Date: 2004/11/13 00:20:00 CST
850    Tag: blume-20041113-versiontool
851    Description:
852    
853    - Stripped down the versiontool: It now only handles the version number.
854      The date string is generated at bootstrap time (during makeml).
855    
856    - In a previous commit, fixed a minor issue with how polyequal is being
857      translated.  In particular, the code now "looks through" abstractions.
858      This results in slightly fewer polyEqual warnings and hopefully slightly
859      more efficient code.  Important examples for where this matters are
860      the new int64 and word64 types.
861    
862    ----------------------------------------------------------------------
863    Name: Matthias Blume (blume (at) tti - c (dot) org)
864    Date: 2004/11/12 00:30:00 CST
865    Tag: blume-20041112-int64
866    Description:
867    
868    Structure Int64 fully hooked in.  (The implementation is not very
869    efficient, though.)
870    
871    ----------------------------------------------------------------------
872    Name: Matthias Blume (blume (at) tti - c (dot) org)
873    Date: 2004/11/11 17:30:00 CST
874    Tag: blume-20041111-more64
875    Description:
876    
877    All the pieces of Word64 are now there, with the exception of the
878    conversions from and to LargeWord. (Eventually these need to be identities,
879    but for the time being they don't even make sense because LargeWord is
880    32-bit wide.)
881    
882    Also started to add similar support for Int64, but major pieces of that
883    are still missing.
884    
885    ----------------------------------------------------------------------
886    Name: Matthias Blume (blume (at) tti - c (dot) org)
887    Date: 2004/11/11 00:15:00 CST
888    Tag: blume-20041111-word64
889    Description:
890    
891    Structure Word64 is now (almost) complete, word literals and patterns
892    seem to work.  There are a few odd pieces missing.  In particular,
893    I didn't do the {from,to}LargeWord parts because LargeWord is still Word32
894    at the moment.
895    
896    Making Word64 official would mean that LargeWord becomes Word64.  But
897    this requires extreme care because most word-word conversions have to
898    go through LargeWord, so making a mistake means loss of efficiency or
899    worse.  Eventually there will be a solution similar to (but actually
900    simpler than) what I did with IntInf.
901    
902    ----------------------------------------------------------------------
903    Name: Matthias Blume (blume (at) tti - c (dot) org)
904    Date: 2004/11/10 18:12:00 CST
905    Tag: blume-20041110-64bit
906    Description:
907    
908    More 64-bit hacking (but still not even half-way there yet).
909    Also, some assorted improvements to the handling of 8-bit words.
910    
911    ----------------------------------------------------------------------
912    Name: Matthias Blume (blume (at) tti - c (dot) org)
913    Date: 2004/11/09 17:50:00 CST
914    Tag: <none>
915    Description:
916    
917    Started adding some infrastructure for supporting 64-bit int- and
918    word-types.  (Still in its very early stages.)
919    
920    ----------------------------------------------------------------------
921    Name: Matthias Blume (blume (at) tti - c (dot) org)
922    Date: 2004/10/28 10:45:00 CDT
923    Tag: Release_110_50
924    Description:
925    
926    New working version (110.50).  NEW BOOTFILES!
927    
928                 =====================
929    
930    Also:
931    
932      - Changend config/srcarchiveurl from a file just
933        containing the URL string into a file containing
934        shell script code.  The code has access to the $VERSION variable.
935      - Made corresponding changes to config/install.sh and config/unpack.
936      - Default contents of config/srcarchiveurl uses $VERSION and
937        normally does not have to be edited to reflect a version change.
938    
939      (As a result, a version change can be done by just editing
940       config/version, the rest is now automatic.)
941    
942    ----------------------------------------------------------------------
943    Name: Matthias Blume (blume (at) tti - c (dot) org)
944    Date: 2004/10/27 17:50:00 CDT
945    Tag: blume-20041027-btrace-msg
946    Description:
947    
948    BackTrace.monitor now also reports the source of the exception that
949    triggered the trace.
950    
951    ----------------------------------------------------------------------
952    Name: Matthias Blume (blume (at) tti - c (dot) org)
953    Date: 2004/10/27 17:20:00 CDT
954    Tag: blume-20041027-x86-c-calls
955    Description:
956    
957    This is the HISTORY entry for two earlier commits, both concerning
958    the x86 c-calls code in MLRISC:
959    
960      - added a missing LOAD in the code that deals with struct arguments
961      - made sure the caller does not add the wrong number of bytes to the
962        stack pointer after a call of a function returning a struct
963        (the callee already pops the implicit argument which points to
964         the space reserved for the result)
965    
966    ----------------------------------------------------------------------
967    Name: Allen Leung (leunga (at) reservoir (dot) com)
968    Date: 2004/10/24 14:00:00 EST
969    Tag: leunga-20041024-x86-gas-fucomip
970    Description:
971    
972       John discovered a bug in the syntax of fucomip.
973       The opcodes FU?COMIP? have been changed to
974    
975           fu?comip? %st(i), %st
976    
977    ----------------------------------------------------------------------
978    Name: Matthias Blume (blume (at) tti - c (dot) org)
979    Date: 2004/10/20 15:06:00 CDT
980    Tag: blume-20041020-standalone-backtrace
981    Description:
982    
983    Added a mechanism for getting back-trace information from standalone
984    programs.  Here is how it works:
985    
986       1. The part of the program from which you want to get backtrace
987          information (usually the whole program) should be wrapped with
988          BackTrace.monitor.  This is a (unit->'a)->'a function, and your
989          main program could be modified from something like
990    
991             fun main (pgm, args) = ...
992    
993         to
994    
995            fun main (pgm, args) = BackTrace.monitor (fn () => ...)
996    
997       2. To be able to access BackTrace.monitor, you have to add
998          library $smlnj-tdp/plugins.cm to the .cm file that contains your
999          main function.
1000    
1001       3. Remove all compiled code (i.e., all the .cm/ subdirectories that
1002          CM might have created in the past for your project).
1003    
1004       4. Build the system using this command line:
1005    
1006             ml-build -Ctdp.instrument=true \$smlnj-tdp/back-trace.cm \
1007                      myprog.cm MyProg.main myprog
1008    
1009          instead of the usual
1010    
1011             ml-build myprog.cm MyProg.main myprog
1012    
1013    I changed a library name:
1014    
1015       $/trace-debug-profile.cm --> $smlnj-tdp/plugins.cm
1016    
1017    New libraries:
1018    
1019       $smlnj-tdp/back-trace.cm
1020          -- when loaded causes the back-trace plugin to be installed
1021       $smlnj-tdp/coverage.cm
1022          -- when loaded causes the coverage plugin to be installed
1023    
1024    ----------------------------------------------------------------------
1025    Name: Matthias Blume (blume (at) tti - c (dot) org)
1026    Date: 2004/10/18 16:45:00 CDT
1027    Tag: blume-20041018-groupowner
1028    Description:
1029    
1030    Added an "obsolete" warning for the "group owner" syntax to CM's parser.
1031    
1032    Eliminated group owner specs from .cm files throughout the source tree.
1033    
1034    ----------------------------------------------------------------------
1035    Name: Matthias Blume (blume (at) tti - c (dot) org)
1036    Date: 2004/10/15 15:45:00 CDT
1037    Tag: blume-20041015-coverage
1038    Description:
1039    
1040    * Test coverage tool added!
1041    * Further reorganization of tracing-, debugging-, and profiling support:
1042    
1043        - moved original BTImp -- now called BackTrace -- into a separate
1044          library called $/trace-debug-profile.cm
1045        - eliminated all mentions of BTrace from SMLofNJ.Internals
1046        - only the instrumentation mechanism is now left in the compiler proper
1047        - BackTrace module is a plugin which is NOT plugged in by default
1048        - Coverage module is another such plugin
1049    
1050    To get the benefits of any of these plugin modules, the code in
1051    question must be compiled with tdp instrumentation turned on.  This
1052    can be done by setting SMLofNJ.Internals.TDP.mode to true.
1053    (The ref cell is also controlled via the -Ctdp.instrument=... switch.)
1054    
1055    Plugins are selected at link time.  (Pre-compiled instrumented code
1056    can be re-loaded with different plugins in effect.)  When an
1057    instrumented module is linked, whatever plugins are at that time
1058    enabled will come into effect for that module.
1059    
1060    To enable the back-trace plugin, load library $/trace-debug-profile.cm
1061    and invoke BackTrace.install() (e.g., from the interactive prompt).
1062    To enable the coverage plugin, load the same library and invoke
1063    Coverage.install().
1064    
1065    Back-traces are generated automatically on uncaught exceptions and
1066    when the code in question explicitly invokes BackTrace.trigger().
1067    
1068    Coverage (and execution frequency-) information must be queried
1069    explicitly by calling Coverage.not_covered and Coverage.hot_spots.
1070    
1071    ----------------------------------------------------------------------
1072    Name: Matthias Blume (blume (at) tti - c (dot) org)
1073    Date: 2004/10/14 17:40:00 CDT
1074    Tag: blume-20041014-tdp-core
1075    Description:
1076    
1077    Snapshot of a significant overhaul of how the trace/debug/profile support
1078    is hooked into the system (specifically: Core and SMLofNJ.Internals).
1079    
1080    ----------------------------------------------------------------------
1081    Name: Matthias Blume (blume (at) tti - c (dot) org)
1082    Date: 2004/10/13 16:34:00 CDT
1083    Tag: blume-20041013-tdp
1084    Description:
1085    
1086    Some rationalization of names:
1087    
1088       structure BTrace -> structure TDPInstrument
1089       etc.
1090    
1091    This is is preparation of using the original back-trace
1092    instrumentation for other purposes.  "TDP" stands for
1093    Trace/Debug/Profile.
1094    
1095    The control flag controlling whether instrumentation is on or off is now
1096    registered under a different name, so instead of running sml as
1097    
1098     sml -Cinstrument.btrace-mode=true
1099    
1100    one has to say
1101    
1102     sml -Ctdp.instrument=true
1103    
1104    ----------------------------------------------------------------------
1105    Name: Matthias Blume (blume (at) tti - c (dot) org)
1106    Date: 2004/10/11 16:37:00 CDT
1107    Tag: blume-20041011-regions
1108    Description:
1109    
1110    Made some minor modifications to elabcore.sml to have source regions
1111    be propagated more tightly -- resulting in better (i.e., smaller)
1112    regions being reported in error- and debug messages.
1113    
1114    ----------------------------------------------------------------------
1115    Name: Matthias Blume (blume (at) tti - c (dot) org)
1116    Date: 2004/10/08 22:50:00 CDT
1117    Tag: blume-20041008-cmkw
1118    Description:
1119    
1120    Fixed handling of keywords in .cm files: After seeing "is" the lexer
1121    treats subsequent occurrences of "group", "library", "source", "is",
1122    "*", and "-" as ordinary identifiers rather than keywords.
1123    
1124    Most seriously, this fixes a problem with CM's "shell" tool.  The tool
1125    is supposed to accept a tool argument called "source", but this did
1126    not work because of the clash with the keyword.
1127    
1128    ----------------------------------------------------------------------
1129    Name: Matthias Blume (blume (at) tti - c (dot) org)
1130    Date: 2004/10/07 16:00:00 CDT
1131    Tag: blume-20041007-cleanup
1132    Description:
1133    
1134    Assorted cleanup work:
1135    
1136      - got rid of intstrmap in favor of using the library's
1137        hash table implementation
1138      - threw out most of the pathnames stuff, as it was not used anyway
1139      - simplified tokentable implementation
1140      - fixed some minor spelling errors
1141    
1142    ----------------------------------------------------------------------
1143    Name: Matthias Blume (blume (at) tti - c (dot) org)
1144    Date: 2004/10/06 15:15:15 CDT
1145    Tag: blume-20041006-handler
1146    Description:
1147    
1148    Cleaned up the absyn to reflect the invariant that HANDLE always
1149    carries a FNexp as part of the type definition.  This eliminates some
1150    superfluous sanity checks at runtime down the road.
1151    
1152    Some minor cleanup of the btrace code.
1153    
1154    ----------------------------------------------------------------------
1155    Name: Matthias Blume (blume (at) tti - c (dot) org)
1156    Date: 2004/10/01 10:20:30 CDT
1157    Tag: blume-20041001-slave
1158    Description:
1159    
1160    Added hack to make slave mode work in the presence of the version
1161    tool.  (Still, since the master does two passes over the code for
1162    CMB.make, the release number gets bumped twice when slaves are
1163    attached.  I don't know if this is worth fixing...)
1164    
1165    ----------------------------------------------------------------------
1166    Name: Matthias Blume (blume (at) tti - c (dot) org)
1167    Date: 2004/09/30 10:55:00 CDT
1168    Tag: blume-20040930-version
1169    Description:
1170    
1171    * Moved the "version" magic into its own little library under
1172      src/system/smlnj/internal.  This avoids expensive reconstruction of
1173      a stable src/compiler/core.cm.
1174    
1175    * At the same time, structure CompilerVersion is now known as
1176      structure SMLNJVersion.
1177    
1178    * Arranged for the version tool to NOT kick in when rebuilding the system
1179      (makeml -rebuild, fixpt).  Otherwise one would never reach a fixpoint.
1180      Also, loading the versiontool does not work when rebuilding the system
1181      because CM is not properly initialized at that time.
1182    
1183    ----------------------------------------------------------------------
1184    Name: Matthias Blume (blume (at) tti - c (dot) org)
1185    Date: 2004/09/29 14:00:00 CDT
1186    Tag: blume-20040929-autoversion
1187    Description:
1188    
1189    Implemented some CM magic to have
1190        file src/compiler/TopLevel/main/version.sml
1191    generated automagically.
1192    The version is taken from two files: config/version and config/release.
1193    The first is expected to contain a two-part version number such as 110.49.
1194    The second should contain a single number, but it may be missing.
1195    
1196    If the environment variable VERSIONTOOL_BUMP_RELEASE is defined at the
1197    time the version tool is loaded (which is the first time you say CMB.make),
1198    then the tool will increment the value stored in config/release every
1199    time CMB.make is invoked.
1200    
1201    The binfile format is now insensitive to anything beyond the first
1202    two components of a version number, so bumping the release does not render
1203    binfiles incompatible.  Auto-bumping can be used to keep track of versions
1204    during development without invalidating existing binfiles.
1205    
1206    In any case, every CMB.make updates the date information in version.sml.
1207    (This is the date that is printed in the banner.)
1208    
1209    ----------------------------------------------------------------------
1210    Name: Matthias Blume (blume (at) tti - c (dot) org)
1211    Date: 2004/09/28 10:53:00 CDT
1212    Tag: blume-20040928-controls
1213    Description:
1214    
1215    Some cleanup of the controls code.
1216    
1217    ----------------------------------------------------------------------
1218    Name: Matthias Blume (blume (at) tti - c (dot) org)
1219    Date: 2004/09/27 22:08:00 CDT
1220    Tag: blume-20040927-controls
1221    Description:
1222    
1223    Added two pieces of functionality to the Controls interface:
1224    
1225    1.   val save'restore: 'a control -> unit -> unit
1226    
1227       grabs the current value of the control in stage 1 and restores it
1228       in stage 2.
1229    
1230    2.   val set' : 'a control * 'a -> unit -> unit
1231    
1232       stores the given value into the control in stage 2 (i.e., delayed)
1233       but does all error checking in stage 1.
1234       (This is for string controls that need to do parse their argument --
1235        something that might fail.  In some cases, notably in CM, one
1236        already knows the intended argument but wants to delay the actual
1237        assignment until a time when error recovery would be more difficult.)
1238    
1239    Changed the handling of controls in tool arguments to classes "sml" and
1240    "lazysml":
1241       - use Controls.save'restore as a more robust way of restoring the
1242         old value (in particular: without having to re-parse the string)
1243       - use controls to handle the "overload" keyword in the init group
1244         (I believe this change actually fixes a long-standing obscure bug.)
1245    
1246    ----------------------------------------------------------------------
1247    Name: Matthias Blume (blume (at) tti - c (dot) org)
1248    Date: 2004/09/27 17:00:00 CDT
1249    Tag: blume-20040927-lazysml
1250    Description:
1251    
1252    Added a new tool class called "lazysml" to CM's tool chest.  The only
1253    difference to "sml" is that compilation is done with Control.lazysml
1254    set to true.  A source of class "lazysml" is automatically recognized
1255    by a file name suffix of ".lml".
1256    
1257    In addition to the above feature, the original class "sml" now also
1258    supports a tool argument "lazy" which has the same effect.  As a
1259    result, the following three lines are equivalent:
1260    
1261        foo.sml : lazysml
1262        foo.sml : sml (lazy)
1263        foo.sml (lazy)
1264    
1265    The setting goes into effect both during parsing and during
1266    compilation.  The original setting is restored right after parsing and
1267    after compilation, respectively.
1268    
1269    In addition to all the above, there is also a general mechanism to set
1270    ANY of the "controls" that are available at the command line via
1271    "-C..." on a per-sml-file basis.  The same rules that apply for "lazy"
1272    apply as well. (In fact, "lazy" is implemented as a special case of
1273    the general mechanism.)
1274    
1275    The .cm file syntax uses a new keyword tool argument called "with".
1276    There are several ways of indicating the desired settings:
1277    
1278        foo.sml (with:parser.quotations=true)
1279        foo.sml (with:(name:parser.quotations value:true))
1280        foo.sml (with:(name:name1 value:value1 name:name2 value:value2 ...))
1281        foo.sml (with:(name1=value1 name2=value2 ...))
1282        foo.sml (with:(name1=value1 name:name2 value:value2 name3=value3 ...))
1283    
1284        etc.
1285    
1286    Another possible abbreviation is to leave out the =v or value:v part
1287    if the name refers to a boolean control (in which case the value is
1288    taken to be true).  Thus, one could get lazy sml also by saying:
1289    
1290        foo.sml (with:parser.lazy-keyword=true)
1291        foo.sml (with:parser.lazy-keyword)
1292        foo.sml (with:(name:parser.lazy-keyword value:true))
1293        foo.sml (with:(name:parser.lazy-keyword))
1294    
1295    ----------------------------------------------------------------------
1296    Name: Matthias Blume (blume (at) tti - c (dot) org)
1297    Date: 2004/09/24 16:22:00 CDT
1298    Tag: blume-20040924-ppc-long-branch
1299    Description:
1300    
1301    Turned message about "emiting long form of branch" off by default.
1302    Added a control flag to turn it back on when desired.
1303    
1304    ----------------------------------------------------------------------
1305    Name: Matthias Blume (blume (at) tti - c (dot) org)
1306    Date: 2004/09/24 16:05:00 CDT
1307    Tag: blume-20040924-rounding
1308    Description:
1309    
1310    Applied patch for setting rounding modes under Mac OS X.  Thanks to
1311    Melissa O'Neill for providing the code!
1312    
1313    ----------------------------------------------------------------------
1314    Name: Matthias Blume (blume (at) tti - c (dot) org)
1315    Date: 2004/09/23 17:30:00 CDT
1316    Tag: blume-20040923-envvars
1317    Description:
1318    
1319    1. Changed definition of type ControlRegistry.registry_tree to
1320       include control_info (i.e., the name of the controlling environment
1321       variable).
1322    
1323    2. Added command-line flags -e and -E to print the names of environment
1324       variables that can be used to control internal settings.
1325       (This uses the new API mentioned in 1.)
1326    
1327    ----------------------------------------------------------------------
1328    Name: Matthias Blume (blume (at) tti - c (dot) org)
1329    Date: 2004/09/13 16:50:00 CDT
1330    Tag: Release_110_49
1331    Description:
1332    
1333    New working version (110.49).  NEW BOOTFILES!
1334    
1335    ----------------------------------------------------------------------
1336    Name: Matthias Blume
1337    Date: 2004/09/13 16:20:00 CDT
1338    Tag: blume-20040913-config-mlrisc
1339    Description:
1340    
1341    Put target "mlrisc" back into the default list.
1342    (There is no harm in having it, and some users have expressed their
1343    wish to have "mlrisc" included by default.)
1344    
1345    ----------------------------------------------------------------------
1346    Name: John Reppy
1347    Date: 2004/09/13
1348    Tag: jhr-20040913-signals
1349    Description:
1350    
1351    Fixed the signal masking code to properly nest mask/unmask operations
1352    on a per-signal basis.
1353    
1354    ----------------------------------------------------------------------
1355    Name: Matthias Blume (blume (at) tti - c (dot) org)
1356    Date: 2004/09/08 13:20:00 CDT
1357    Tag: blume-20040908-heap-magic
1358    Description:
1359    
1360    Bumped the heap macig number to 0x09082004 to account for the changed
1361    layout of the ML frame under MacOS X.
1362    
1363    ----------------------------------------------------------------------
1364    Name: Allen Leung (leunga (at) reservoir (dot) com)
1365    Date: 2004/09/03 11:26:00 EST
1366    Tag: leunga-20040903-cygwin-install
1367    Description:
1368    
1369       Added a patch to _arch-n-opsys to enable the Cygwin runtime.
1370    The Cygwin runtime is turned on by setting the environment
1371    variable SMLNJ_CYGWIN_RUNTIME to 1.
1372    
1373    ----------------------------------------------------------------------
1374    Name: Matthias Blume (blume (at) tti - c (dot) org)
1375    Date: 2004/08/31 17:15:00 CDT
1376    Tag: blume-20040831-core
1377    Description:
1378    
1379    Added some exports to src/compiler/core.cm upon request by J. Joemann.
1380    
1381    ----------------------------------------------------------------------
1382    Name: Matthias Blume (blume (at) tti - c (dot) org)
1383    Date: 2004/08/30 17:55:00 CDT
1384    Tag: blume-20040830-installer
1385    Description:
1386    
1387    Upon request by Johannes Joemann:
1388    
1389    - improved ML code of installer to fall back to coping when renaming
1390      fails (i.e., when source and target are on different file systems);
1391      the code compiles but has yet to be tested in anger
1392    - removed mlrisc from list of default targets (config/targets)
1393    
1394    ----------------------------------------------------------------------
1395    Name: Matthias Blume (blume (at) tti - c (dot) org)
1396    Date: 2004/08/27 17:20:00 CDT
1397    Tag: blume-20040827-ptreql
1398    Description:
1399    
1400    Added ptreql primop to structure InlineT (upon request from Larry
1401    Paulson).
1402    
1403    ----------------------------------------------------------------------
1404    Name: Allen Leung (leunga (at) reservoir (dot) com)
1405    Date: 2004/08/15 21:21:00 EST
1406    Tag: leunga-110_48-udgraph
1407    Description:
1408    
1409    Another bug fix from Carl Hauser:
1410    
1411    diff /net/niflab/smlnj48/src/MLRISC/graphs/udgraph.sml udgraph.sml
1412    > 48c48
1413    > <              | rmv((e as (k,_))::es,L) = rmv(es,if k = i then es else
1414    > e::L)
1415    > ---
1416    > >              | rmv((e as (k,_))::es,L) = rmv(es,if k = i then L else e::L)
1417    > Without this, any deletion of an edge in an undirected graph does severe
1418    > violence to the graph.
1419    
1420    ----------------------------------------------------------------------
1421    Name: Allen Leung (leunga (at) reservoir (dot) com)
1422    Date: 2004/08/10 23:35:00 EST
1423    Tag: leunga-110_48-ppc
1424    Description:
1425    
1426       The IBM/MacOS syntax switch on PPC was incorrectly swapped.
1427    
1428    ----------------------------------------------------------------------
1429    Name: Matthias Blume (blume (at) tti - c (dot) org)
1430    Date: 2004/08/10 12:00:00 CDT
1431    Tag: Release_110_48
1432    Description:
1433    
1434    New working version (110.48).  NEW BOOTFILES!
1435    
1436    ----------------------------------------------------------------------
1437    Name: Allen Leung (leunga (at) reservoir (dot) com)
1438    Date: 2004/08/09 12:21:00 EST
1439    Tag: leunga-110_47-dijsktra
1440    Description:
1441    
1442    Bug fix from Carl Hauser:
1443    
1444    single_source_shortest_paths in dijkstra.sml was observed to get wrong
1445    answers (by comparing to single_source_shortest_paths in bellman-ford.sml).
1446    
1447    The problem is that following the expression A.update(dist,s,Num.zero)
1448    it is necessary to update the priority queue using Q.decreaseWeight(Q,s).
1449    
1450    ----------------------------------------------------------------------
1451    Name: Matthias Blume (blume (at) tti - c (dot) org)
1452    Date: 2004/08/06 18:10:00 CDT
1453    Tag: blume-20040806-cmdline
1454    Description:
1455    
1456    Fiddled with handling of command-line options:
1457    
1458      * sml now quits after processing the command line
1459        if -H, -S, -h<n>, or -s<n> appears as the last
1460        command-line argument
1461      * a new option -q terminates the session when encountered on
1462        the command line; subsequent arguments will be ignored
1463      * bug fixes: short (erroneous) arguments are no longer ignored
1464        completely
1465    
1466    ----------------------------------------------------------------------
1467    Name: Allen Leung (leunga (at) reservoir (dot) com)
1468    Date: 2004/08/04 18:17:00 EST
1469    Tag: leunga-110_47-ppc-ibm-asm
1470    Description:
1471    
1472      - Added minimal IBM assembly syntax support for PowerPC.
1473    
1474      - Cygwin: manually changed the file cygwin.def.  Some exported symbols have
1475        been altered in the runtime.  We need an automatic way to keep the file
1476        in sync.
1477    
1478    ----------------------------------------------------------------------
1479    Name: Matthias Blume (blume (at) tti - c (dot) org)
1480    Date: 2004/08/04 14:00:00 CDT
1481    Tag: Release_110_47
1482    Description:
1483    
1484    New working version (110.47).  NEW BOOTFILES!
1485    
1486    ----------------------------------------------------------------------
1487    Name: Matthias Blume (blume (at) tti - c (dot) org)
1488    Date: 2004/08/03 14:25:00 CDT
1489    Tag: blume-20040803-callingconv
1490    Description:
1491    
1492    Added low-level support for choosing C calling conventions by
1493    twiddling the type of rawccall.  (See
1494    src/compiler/Semant/types/cproto.sml for details.)
1495    
1496    ----------------------------------------------------------------------
1497    Name: Matthias Blume (blume (at) tti - c (dot) org)
1498    Date: 2004/08/02 15:55:00 CDT
1499    Tag: blume-20040802-backout
1500    Description:
1501    
1502    Backed out of change to win32-filesys.c.  The earlier patch to
1503    get_file_time caused CM to produce files with the wrong time stamp.
1504    
1505    ----------------------------------------------------------------------
1506    Name: Matthias Blume (blume (at) tti - c (dot) org)
1507    Date: 2004/08/02 14:45:00 CDT
1508    Tag: blume-20040802-nlffi-win32
1509    Description:
1510    
1511    Added NLFFI support for Win32, adapted from a patch provided by David
1512    Hansel.  This is currently completely untested.  Also, the issue
1513    concerning stdcall vs. ccall is still unresolved.
1514    
1515    ----------------------------------------------------------------------
1516    Name: Matthias Blume (blume (at) tti - c (dot) org)
1517    Date: 2004/07/30 17:55:00 CDT
1518    Tag: blume-20040730-various
1519    Description:
1520    
1521    Gearing up towards 110.47...
1522    
1523    - various minor bugfixes to ml-nlffigen
1524    - a beginning of a manual for nlffi
1525    
1526    - eliminated 'export name=value' in config/install.sh as this does
1527      not work with certain versions of /bin/sh
1528      (Thanks to David King at Motorola for catching this.)
1529    
1530    - several bugfixes provided or suggested by David Hansel at Reactive Systems:
1531      - added a test for tm==NULL to gmtime.c and localtime.c
1532      - applied patch for incorrect GetFileTime under win32
1533      - toSeconds -> toMilliseconds in Win32/win32-process.sml
1534    
1535    ----------------------------------------------------------------------
1536    Name: Matthias Blume (blume (at) tti - c (dot) org)
1537    Date: 2004/07/21 18:20:00 CDT
1538    Tag: blume-20040721-nlffigen
1539    Description:
1540    
1541    - Fixed minor issue in ml-nlffigen: Now generate structure T_foo
1542      for a typedef to an incomplete type, but leave out the "typ" member.
1543      (This is just for consistency.)
1544    - Started to produce what is supposed to become better (i.e., comprehensive)
1545      documentation of what ml-nlffigen does and produces.
1546    
1547    ----------------------------------------------------------------------
1548    Name: Matthias Blume (blume (at) tti - c (dot) org)
1549    Date: 2004/07/14 16:25:00 CDT
1550    Tag: blume-20040714-union
1551    Description:
1552    
1553    Added C_UNION to c-calls/c-types.sml and updated the machinery
1554    (ml-nlffigen, cproto.sml) that conveys C function interface
1555    information to the code generator.
1556    
1557    However, the actual architecture-specific implementation of function
1558    arguments and results that are C unions is still not implemented.
1559    
1560    ----------------------------------------------------------------------
1561    Name: Allen Leung (leunga (at) reservoir (dot) com)
1562    Date: 2004/07/14 14:38:00 EST
1563    Tag: leunga-110_46_1-ppc-lwzu
1564    Description:
1565    
1566        Added these instructions to the PowerPC architecture:
1567        LBZU(X), LHZU(X), LWZU(X),
1568        STWU(X), STFDU, STFSU
1569    
1570        etc...
1571    
1572        Note: I haven't added their instruction encoding into the description.
1573    
1574    ----------------------------------------------------------------------
1575    Name: Allen Leung (leunga (at) reservoir (dot) com)
1576    Date: 2004/07/13 15:04:00 EST
1577    Tag: leunga-110_46_1-ppc-lwarx
1578    Description:
1579    
1580       Added the two instructions LWARX and STWCX to the PowerPC
1581    instruction set.
1582    
1583       A (untested) rewrite of loop-structure.sml.  The old version
1584    is completely broken.
1585    
1586    ----------------------------------------------------------------------
1587    Name: Matthias Blume (blume (at) tti - c (dot) org)
1588    Date: 2004/07/13 13:50:00 CDT
1589    Tag: blume-20040713-nlffi
1590    Description:
1591    
1592    - use paramAlloc to report c-calls with too many arguments
1593      (for PPC version where parameter area is pre-allocated)
1594    - added ccall_maxargspace to machspec (to implement the above)
1595    - made "make" commend in CM's "make" tool configurable
1596    - added option (default: on) for passing the name of the SML/NJ's "bin"
1597      directory to "make"; the call looks like this:
1598    
1599         make <options> SMLNJ_BINDIR=<dir> <target>
1600    
1601      This can be used by the Makefile to, e.g., pick the "right" version
1602      of ml-nlffigen.
1603    - minor code tweaks
1604    
1605    ----------------------------------------------------------------------
1606    Name: Matthias Blume (blume (at) tti - c (dot) org)
1607    Date: 2004/07/12 22:50:00 CDT
1608    Tag: blume-110_46_1-macosx-nlffi
1609    Description:
1610    
1611    NLFFI under Mac OS X now working (sort of).  This is largely untested,
1612    though.
1613    
1614    Note:  1. You have to make a new, clean build of the runtime system.
1615           2. There are new BOOTFILES, you have to use them!
1616              (Doing the bootstrap process yourself would be *very* painful!
1617               If you absolutely have to do it, build the system under
1618               a different architecture and then cross-compile.)
1619    
1620    Version bumped to 110.46.1 to account for runtime data format changes.
1621    
1622    ----------------------------------------------------------------------
1623    Name: Matthias Blume (blume (at) tti - c (dot) org)
1624    Date: 2004/06/18 14:30:00 CDT
1625    Tag: blume-20040618-unix
1626    Description:
1627    
1628    Changed the implementation of structure Unix so that the same stream
1629    is returned every time one of the {text,bin}{In,Out}streamOf functions
1630    is invoked on the same proc.  This is not what the spec currently
1631    says -- although IMO it arguably should.  (See discussion below.)
1632    
1633    ----------------------------------------------------------------------
1634    Name: Matthias Blume (blume (at) tti - c (dot) org)
1635    Date: 2004/06/17 18:15:00 CDT
1636    Tag: Release_110_46
1637    Description:
1638    
1639    New working version (110.46).  NEW BOOTFILES!
1640    
1641    ----------------------------------------------------------------------
1642    Name: Matthias Blume (blume (at) tti - c (dot) org)
1643    Date: 2004/06/17 17:20:00 CDT
1644    Tag: blume-20040617-timer-unix
1645    Description:
1646    
1647    Changed the interface of structures Timer and Unix to match the most
1648    recent Basis spec.
1649    
1650    In the case of Unix there still seems to be an open/weird issue:
1651    
1652       The {text,bin}{In,Out}streamOf functions are supposed to create
1653       fresh streams whenever they are called -- as opposed to have them
1654       return the same stream every time.  This design is supposed to
1655       prevent space leaks caused by proc values hanging on to streams.
1656    
1657       The reap function, on the other hand, is supposed to close the
1658       streams.  This cannot be done without having a handle on the
1659       stream in proc after all...
1660    
1661    I took the liberty to implement the following stopgap solution:
1662    
1663      The proc value hangs on to the most recently created stream(s).
1664      Reap closes those.  If either or both of the two streams hadn't
1665      been created at all yet, then reap will close the corresponding
1666      file descriptors directly.
1667    
1668    PS: I don't understand the original space leak argument anymore.  If
1669    a proc hangs on to the imperative stream, then I/O operations on those
1670    will advance the state of the cached stream and avoid the space leak.
1671    
1672    ----------------------------------------------------------------------
1673    Name: Matthias Blume (blume (at) tti - c (dot) org)
1674    Date: 2004/05/28 16:45:00 CDT
1675    Tag: blume-20040528-basis
1676    Description:
1677    
1678    Added signature PACK_REAL and exported functor PrimIO.
1679    
1680    ----------------------------------------------------------------------
1681    Name: Matthias Blume (blume (at) tti - c (dot) org)
1682    Date: 2004/05/25 16:00:00 CDT
1683    Tag: blume-20040525-group-owner
1684    Description:
1685    
1686    CM now ignores (but still accepts) the "owner" information in group
1687    descriptions.  The owner of a group is its next enclosing
1688    library. Each group must have a unique owner.  (There is a virtual
1689    "toplevel" library that owns groups which are not nested within a real
1690    library.)  Previously, each group had to explicitly declare its owner,
1691    and CM would check that such a declaration is correct.  The new scheme
1692    is to have CM check that for each group there is precisely one owning
1693    library.
1694    
1695    The advantage of the new scheme is that the programmer no longer needs
1696    to maintain the somewhat annoying owner information.  The downside is
1697    that CM cannot enforce the ownership rule across multiple runs of
1698    CM.make.  Fortunately, enclosing the same group in two different
1699    libraries A and B which are not part of the same program does not
1700    cause real problems.
1701    
1702    ----------------------------------------------------------------------
1703    Name: Matthias Blume (blume (at) tti - c (dot) org)
1704    Date: 2004/05/20 16:00:00 CDT
1705    Tag: blume-20040520-win32
1706    Description:
1707    
1708    Made the win32 version work again.  (Strangely, a misplaced comma had
1709    slipped into win32-process.c which prevented the runtime from being
1710    compiled correctly.)
1711    
1712    Also, included a minor addition to ml-build.bat analogous to what was
1713    done in blume-20040519-ml-build.
1714    
1715    ----------------------------------------------------------------------
1716    Name: Matthias Blume (blume (at) tti - c (dot) org)
1717    Date: 2004/05/19 22:10:00 CDT
1718    Tag: blume-20040519-ml-build
1719    Description:
1720    
1721    Arranged for ml-build to clean up after itself a little bit better.
1722    The script generates a temporary SML source file and compiles it using
1723    CM, so CM generates metadata (GUID, SKEL, objectfile) for it.  It now
1724    gets rid of those at the end, so they don't accumulate under .cm.
1725    
1726    This required a minor change to install.sh because the name of the
1727    metadata directory (default: .cm) is actually configurable at
1728    installation time.
1729    
1730    ----------------------------------------------------------------------
1731    Name: Matthias Blume (blume (at) tti - c (dot) org)
1732    Date: 2004/05/18 15:50:00 CDT
1733    Tag: blume-20040518-mkreader
1734    Description:
1735    
1736    Added Posix.IO.mk{Bin,Text}{Reader,Writer} by lifting their respective
1737    implementations from internal modules PosixBinPrimIO and PosixTextPrimIO.
1738    
1739    ----------------------------------------------------------------------
1740    Name: Matthias Blume (blume (at) tti - c (dot) org)
1741    Date: 2004/05/11 14:35:00 CDT
1742    Tag: blume-20040511-win32sock
1743    Description:
1744    
1745    Added previously missing support for many socket-related functions
1746    under win32.  Thanks to David Hansel <hansel@reactive-systems.com>
1747    for the voluminous patch!
1748    
1749    (I have not tested this patch under win32 yet.)
1750    
1751    Here is David's e-mail:
1752    
1753    Hi,
1754    
1755    Attached to this email you find a diff against sml/nj 110.45
1756    that will enable socket support under Windows.
1757    
1758    To apply the patch (using unix or cygwin)
1759    1) gunzip runtime.diff.gz
1760    2) "cd" into "src/runtime" in the source tree of a fresh
1761       110.45 installation.
1762    3) patch -p 1 < [your/path/to]runtime.diff
1763    
1764    The code compiles fine but has NOT yet been extensively tested.
1765    I only ran a few tests for basic socket client functionality
1766    (which worked fine).  Especially the functions that use ioctl
1767    are not tested at all and might not work (see below).
1768    
1769    I implemented this since we want to move to a newer version of sml/nj
1770    but need socket support in order to use it.  This is the first time I
1771    even had a look at the sml/nj source,  so please review my changes
1772    before making this part of the distribution!  Here are a few issues
1773    that I think might be better for someone to solve who is more
1774    familiar with the sml/nj source (and socket programming):
1775    
1776    - getnetbyaddr.c and getnetbyname.c will raise a "not implemented"
1777      exception since I could not figure out what the windows equivalent
1778      of these functions is
1779    
1780    - In sockets-osdep.h there are a some #include statements that are
1781      only used in a few files that include sockets-osdep.h
1782    
1783    - In smlnj-sock-lib.c, function init_fn() calls WSAStartup() but
1784      does not process its return value since I don't know how to
1785      report an error upwards.
1786    
1787    - It would probably be good to have a call to WSACleanup() when
1788      the library is unloaded (if there is such a possibility).
1789      Otherwise I think Windows will take care of this automatically
1790      when the process finishes.
1791    
1792    - I used ioctlsocket() as a replacement for ioctl() but I have
1793      no idea if that is actually the proper replacement on Windows.
1794    
1795    - All these issues are marked in the code by "FIXME" comments.
1796    
1797    We use sml/nj extensively in our products and are quite happy
1798    with it.  I hope this contribution will help you.
1799    
1800    Keep up the good work!
1801    
1802    David
1803    
1804    ----------------------------------------------------------------------
1805    Name: Matthias Blume (blume (at) tti - c (dot) org)
1806    Date: 2004/05/11 14:20:00 CDT
1807    Tag: blume-20040511-installml
1808    Description:
1809    
1810    Fixed two bugs in installml script.  (Thanks to Vesa A. Norrman for
1811    the patch.)
1812    
1813    ----------------------------------------------------------------------
1814    Name: Matthias Blume (blume (at) tti - c (dot) org)
1815    Date: 2004/05/11 14:05:00 CDT
1816    Tag: blume-20040511-nlffi-netbsd
1817    Description:
1818    
1819    Added support for nlffi under netbsd.  (Thanks to Vesa A. Norrman for
1820    the patch.)
1821    
1822    ----------------------------------------------------------------------
1823    Name: Matthias Blume (blume (at) tti - c (dot) org)
1824    Date: 2004/05/11 12:05:00 CDT
1825    Tag: blume-20040511-exports
1826    Description:
1827    
1828    As per request by Adam Chlipala <adam@hcoop.net>, extended various
1829    export lists in compiler-related .cm-files.
1830    
1831    ----------------------------------------------------------------------
1832    Name: Matthias Blume (blume (at) tti - c (dot) org)
1833    Date: 2004/05/11 11:35:00 CDT
1834    Tag: blume-20040511-allsource
1835    Description:
1836    
1837    The installer now honors the "src-smlnj" target again, although its meaning
1838    has changed from "all sources required for the compiler" to "all sources
1839    the installer knows about".  In other words, if you enable "src-smlnj"
1840    in the "targets" file, then the installer will pull in sources for
1841    everything.  (Notice that this refers to source code only.  Compiled
1842    code is still only installed for modules that were requested explicitly
1843    or which are required for other modules that were requested explicitly.)
1844    
1845    ----------------------------------------------------------------------
1846    Name: Matthias Blume (blume (at) tti - c (dot) org)
1847    Date: 2004/04/23 17:40:00 CDT
1848    Tag: blume-20040423-ieee-scan
1849    Description:
1850    
1851    Fixed IEEEReal.scan (and .fromString) so that if there is an overflow
1852    in the exponent calculation we get INF or ZERO (depending on the mantissa
1853    and the sign of the exponent).
1854    
1855    ----------------------------------------------------------------------
1856    Name: Matthias Blume (blume (at) tti - c (dot) org)
1857    Date: 2004/04/23 10:40:00 CDT
1858    Tag: blume-20040423-ml-build
1859    Description:
1860    
1861    The ml-build script now terminates with a non-0 status when something
1862    goes wrong.
1863    
1864    ----------------------------------------------------------------------
1865    Name: Matthias Blume (blume (at) tti - c (dot) org)
1866    Date: 2004/04/22 16:35:00 CDT
1867    Tag: blume-20040422-Option
1868    Description:
1869    
1870    Made exception Option to be the same as exception Option.Option
1871    (as it should be).
1872    
1873    ----------------------------------------------------------------------
1874    Name: Allen Leung (leunga (at) reservoir (dot) com)
1875    Date: 2004/03/19 14:40:00 EST
1876    Tag: leunga-20040319-cygwin-nlffi
1877    Description:
1878    
1879    Fixed the runtime so that ml-nlffi-lib runs on the cygwin version
1880    of SML/NJ.  The problem is that
1881    
1882       lib = dlopen(NULL, ...)
1883       f   = dlsym(lib, "malloc");
1884    
1885    does not work on Windows unless we explicitly export symbols
1886    such as 'malloc' during linking.  We fixed this by explicitly
1887    exporting the required symbols with the magic gcc incantation:
1888    
1889        -Wl,--export-all cygwin.def
1890    
1891    where cygwin.def is a file containing all the symbols that
1892    we wish to export.
1893    
1894    I suspect this is a Windows problem and we'll have to
1895    do the same (somehow with windows compilers) when
1896    we build the native win32 version with the system
1897    calls LoadLibrary/GetProcAddress.
1898    
1899    ----------------------------------------------------------------------
1900    Name: Matthias Blume (blume (at) tti - c (dot) org)
1901    Date: 2004/03/04 16:35:00 CST
1902    Tag: blume-20040304-intinf-fmt
1903    Description:
1904    
1905    Fixed problem with IntInf.fmt (sign would show up on the right instead
1906    of on the left for BIN, OCT, and HEX).
1907    
1908    ----------------------------------------------------------------------
1909    Name: Matthias Blume (blume (at) tti - c (dot) org)
1910    Date: 2004/03/04 11:25:00 CST
1911    Tag: blume-20040304-symlinks
1912    Description:
1913    
1914    Fixed problem with installer script (unix only) where bin/ml-yacc and
1915    friends pointed (via symlinks) to absolute locations instead of just
1916    .run-sml.  This was reported by Vesa A Norrman.
1917    
1918    ----------------------------------------------------------------------
1919    Name: Matthias Blume (blume (at) tti - c (dot) org)
1920    Date: 2004/02/13 14:50:00 CST
1921    Tag: Release_110_45
1922    Description:
1923    
1924    New working version (110.45). New bootfiles.
1925    
1926    ----------------------------------------------------------------------
1927    Name: Matthias Blume (blume (at) tti - c (dot) org)
1928    Date: 2004/01/26 15:15:15 CST
1929    Tag: blume-20040126-toplevel
1930    Description:
1931    
1932    Improved handling of exceptions at the interactive toplevel.
1933    
1934    ----------------------------------------------------------------------
1935    Name: Matthias Blume (blume (at) tti - c (dot) org)
1936    Date: 2004/01/26 11:25:00
1937    Tag: blume-20040126-app
1938    Description:
1939    
1940    Type of top-level "app" corrected.
1941    Added code for setting vp_limitPtrMask to Win32-specific runtime.
1942    
1943    ----------------------------------------------------------------------
1944    Name: Matthias Blume (blume (at) tti - c (dot) org)
1945    Date: 2003/11/18 17:10 CST
1946    Tag: blume-20031118-basis-fiddle
1947    Description:
1948    
1949    - changed Timer interface to what might become the spec
1950    - POSIX_FLAGS -> BIT_FLAGS according to spec
1951    - some other minor discrepancies wrt. spec eliminated
1952    
1953    ----------------------------------------------------------------------
1954    Name: Matthias Blume (blume (at) tti - c (dot) org)
1955    Date: 2003/11/06 12:00:00 CST
1956    Tag: Release_110_44
1957    Description:
1958    
1959    New working version (110.44). New bootfiles.
1960    
1961    ----------------------------------------------------------------------
1962    Name: Matthias Blume (blume (at) tti - c (dot) org)
1963    Date: 2003/11/04 11:50:00 CST
1964    Tag: blume-20031104-move-libraries
1965    Description:
1966    
1967    Eliminated the "dont_move_libraries" directive in config/targets.
1968    (The mechanism was broken and could not be fixed easily.  Moreover,
1969    there does not seem to be any reason not to move all libraries into
1970    lib during installation.  I originally implemented this directive as a
1971    backward-compatibility feature when I first introduced the new CM.
1972    Now that things have been stable for a long time and going back to the
1973    old CM is not an option, there is no reason to keep it around.)
1974    
1975    ----------------------------------------------------------------------
1976    Name: Matthias Blume (blume (at) tti - c (dot) org)
1977    Date: 2003/11/03 16:00:00 CST
1978    Tag: blume-20031103-installdir
1979    Description:
1980    
1981    Made installer honor INSTALLDIR variable again.  (Thanks to Chris
1982    Richards for pointing out the problem and providing the solution.)
1983    
1984    ----------------------------------------------------------------------
1985    Name: Matthias Blume (blume (at) tti - c (dot) org)
1986    Date: 2003/10/01 17:05:00 CDT
1987    Tag: blume-20031001-lal-mlrisc
1988    Description:
1989    
1990    MLRISC bug fix from Lal.
1991    
1992    ----------------------------------------------------------------------
1993    Name: Matthias Blume (blume (at) tti - c (dot) org)
1994    Date: 2003/09/30 16:10:00 CDT
1995    Tag: blume-20030930-primio-bat
1996    Description:
1997    
1998    1. Added openVector, nullRd, and nullWr to PRIM_IO.
1999    2. Improved .bat files (for Win32 port) to make things work under Win95.
2000       (thanks to Aaron S. Hawley for this one)
2001    
2002    ----------------------------------------------------------------------
2003    Name: Matthias Blume (blume (at) tti - c (dot) org)
2004    Date: 2003/09/26 16:05:00 CDT
2005    Tag: blume-20030926-wrappriv
2006    Description:
2007    
2008    Added missing wrapper for privilege "primitive" in $smlnj/viscomp/core.cm.
2009    
2010    ----------------------------------------------------------------------
2011    Name: Matthias Blume (blume (at) tti - c (dot) org)
2012    Date: 2003/09/26 15:00:00 CDT
2013    Tag: blume-20030926-110_43_3
2014    Description:
2015    
2016    - additional cleanup
2017    - version number bump, NEW BOOTFILES
2018    
2019    ----------------------------------------------------------------------
2020    Name: Matthias Blume (blume (at) tti - c (dot) org)
2021    Date: 2003/09/26 12:00:00 CDT
2022    Tag: blume-20030926-ppautoload
2023    Description:
2024    
2025    I modified the read-eval-print loop so that the autoloader gets
2026    invoked whenever the prettyprinter tries to look up a symbol that
2027    is not currently defined in the toplevel environment but which
2028    appears in CM's autoload registry.  As a result, we see far fewer of
2029    those ?.Foo.Bar.xxx names in the prettyprinter's output.
2030    
2031    In addition to this I tried to clean up some pieces of the Basis
2032    implementation (e.g., Socket, Word8Array) in order to prevent other
2033    instances of these ?.Foo.Bar.xxx names from being printed.
2034    
2035    The mechanism that picks names for types still needs some work, though.
2036    (Right now it seems that if there is a type A.t which is defined to
2037    be B.u, but B is unavailable at toplevel, then A.t gets printed as
2038    "?.B.u" although the perhaps more sensible solution would be to use
2039    "A.t" in this case.  In other words, the prettyprinter should follow
2040    a chain of DEFtycs not farther than there are corresponding toplevel
2041    names in the current environment.)
2042    
2043    ----------------------------------------------------------------------
2044    Name: Matthias Blume (blume (at) tti - c (dot) org)
2045    Date: 2003/09/24 16:31:00 CDT
2046    Tag: blume-20030924-installer
2047    Description:
2048    
2049    Another installer tweak:  All the ML code for the installer is now
2050    compiled during CMB.make and put into a little library called
2051    $smlnj/installer.cm.  The installation then simply invokes
2052    
2053       sml -m $smlnj/installer.cm
2054    
2055    and everything happens automagically.
2056    
2057    Win32:  ML code senses value of environment variable SMLNJ_HOME.
2058    Unix:   ML code senses values of environment variables ROOT, CONFIGDIR,
2059            and BINDIR.
2060    
2061    The new scheme guarantees that the ML code responsible for the installation
2062    is in sync with the APIs of the main system.  Also, the installer is
2063    somewhat faster because the installer script is precompiled.
2064    
2065  ----------------------------------------------------------------------  ----------------------------------------------------------------------
2066  Name: Matthias Blume (blume (at) tti - c (dot) org)  Name: Matthias Blume (blume (at) tti - c (dot) org)
2067  Date: 2003/09/24 15:35:00 CDT  Date: 2003/09/24 15:35:00 CDT

Legend:
Removed from v.1390  
changed lines
  Added in v.2066

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