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 1613, Wed Aug 11 03:35:58 2004 UTC sml/trunk/NOTES/HISTORY revision 2358, Mon Mar 19 17:43:18 2007 UTC
# Line 1  Line 1 
1  This is the HISTORY file for the Yale SML/NJ CVS repository.  This is the HISTORY file for the SML/NJ repository.
2    
3  An entry should be made for _every_ commit to the repository.  An entry should be made for _every_ commit to the repository.
4  The entries in this file will be used when creating the README  The entries in this file will be used when creating the README
# Line 7  Line 7 
7    
8  The form of an entry should be:  The form of an entry should be:
9    
10  Name:  
11    Name: Your Name (web page or e-mail)
12    Date: yyyy/mm/dd hh:mm:ss
13    Tag: cvs-tag-for-this-change
14    Description:
15    
16    ----------------------------------------------------------------------
17    Name: John Reppy (http://www.cs.uchicago.edu/~jhr)
18    Date: 2007/03/19
19    Description:
20    
21    Fixed a number of inconsistencies between the Posix.TTY structure
22    and the Basis specification.  Thanks to Adam Chilpala.
23    
24    ----------------------------------------------------------------------
25    Name: Mike Rainey (http://www.cs.uchicago.edu/~mrainey)
26    Date: 2007/02/26
27    Description:
28    
29    Added preliminary support in MLRISC for Staged Allocation, a technique
30    for specifying calling conventions (see
31    http://www.eecs.harvard.edu/~nr/pubs/staged-abstract.html).
32    Initially, we plan to use this code to generate C calls for the AMD64.
33    
34    The staged allocation code base resides in MLRISC/staged-allocation,
35    and specialized calling conventions go in MLRISC/ARCH/staged-allocation.
36    
37    ----------------------------------------------------------------------
38    Name: John Reppy (http://www.cs.uchicago.edu/~jhr)
39    Date: 2007/02/20
40    Description:
41    
42      Bug fix: when SaveCState was called with two values to save, a subsequent
43      GC could cause the RestoreCState to fail because the saved state had been
44      promoted to tagless pair.
45    
46    ----------------------------------------------------------------------
47    Name: Allen Leung (leunga (at) reservoir (dot) com)
48    Date: 2007/02/20 19:08:00 EST
49    Description:
50    
51        Bug triggered by:
52    
53        val a1 = Word8Array.array(a1, 0w0);
54        val _  = Word8Array.update(a1, 0, 0w128);
55    
56        x86MCEmitter crashed when the immediate operand to MOVB was outside
57    of the range -128 ... 127.  I've changed the code so that the range
58    check is disabled.   Only the low order 8 bits of the immediate operand
59    are now significant.
60    
61    
62    ----------------------------------------------------------------------
63    Name: Matthias Blume (http://www.tti-c.org/blume/)
64    Date: 2007/02/15 09:20:00 CST
65    Description:
66    
67    Eliminated any mention of lexgen.  (Lexgen was an early precursor
68    to ml-ulex.)
69    
70    You should update your admin directory, so the shell scripts for
71    maintaining your local copy of the repository reflect this change.
72    
73    ----------------------------------------------------------------------
74    Name: Matthias Blume (http://www.tti-c.org/blume/)
75    Date: 2007/02/14 15:45:00 CST
76    Description:
77    
78    Fixed bug in CM's parallel make facility that failed to have
79    the master re-link modules after letting slaves compile them.
80    
81    ----------------------------------------------------------------------
82    Name: Matthias Blume (http://www.tti-c.org/blume/)
83    Date: 2007/02/12 15:10:00 CST
84    Description:
85    
86    Fixed typo in ml-build script that prevented library anchors
87    from being registered.
88    
89    ----------------------------------------------------------------------
90    Name: Matthias Blume (http://www.tti-c.org/blume/)
91    Date: 2007/02/02 15:20:00 CST
92    Tag: release-110.62
93    Description:
94    
95    New working release (110.62).  NEW BOOTFILES!
96    
97    ----------------------------------------------------------------------
98    Name: Aaron Turon (http://www.cs.uchicago.edu/~adrassi)
99    Date: 2007/01/31
100    Description:
101    
102    Brought ml-lpt manual up-to-date with the code.  Many minor
103    improvements to the tools, and a few minor bugfixes.  Prepared
104    ml-lpt-lib for integration with new UTF8 structure.  Changed
105    the interface for creating streams in ml-ulex (we now support
106    stream creation from several kinds of sources).  Overall, the
107    tools are now quite stable, and their interfaces are unlikely to
108    change in a way that would break compatibility.  More work,
109    however, is needed in the documentation.
110    
111    ----------------------------------------------------------------------
112    Name: Matthias Blume (http://www.tti-c.org/blume/)
113    Date: 2007/02/01 10:05:00 CST
114    Description:
115    
116    Implemented library installer.  Moved CM plugin code for
117    ml-burg, ml-lex, and ml-yacc out of CM source tree and into
118    their respective trees.  Implemented CM plugin for ml-ulex
119    and ml-antlr.  Used library installer for ml-burg, ml-ulex,
120    and ml-antlr.
121    
122    For ml-yacc and ml-lex we continue to have permanently "plugged-in"
123    CM tools.  (It turns out to be too messy to do otherwise because
124    there is too much code that during installation relies on the presence
125    of these tools -- resulting in a tricky ordering problem.)
126    
127    ----------------------------------------------------------------------
128    Name: Matthias Blume (http://www.tti-c.org/blume/)
129    Date: 2007/01/30 11:05:00 CST
130    Description:
131    
132    Added SMLofNJ.shiftArgs which is like a shell's "shift" command.
133    Modified CM's startup code to use shiftArgs as it processes
134    command line arguments.  This way, the init code in each .sml-file
135    or library that is mentioned at the top level will see only
136    those arguments that have not yet been processed at this point.
137    In other words, the init code can "seize control" and process the
138    remaining command line.
139    
140    ----------------------------------------------------------------------
141    Name: John Reppy (http://www.cs.uchicago.edu/~jhr)
142    Date: 2007/01/30
143    Description:
144    
145    Added fromList function to the ORD_SET interface and lookup to the
146    ORD_MAP interface.  See the SML/NJ Library CHANGES file for details.
147    
148    ----------------------------------------------------------------------
149    Name: John Reppy (http://www.cs.uchicago.edu/~jhr)
150    Date: 2007/01/28
151    Description:
152    
153    Added the UTF8 structure and signature from the Moby compiler to
154    the SML/NJ library (and the CML library).  These modules will replace
155    the version in the ml-lpt-lib.
156    
157    ----------------------------------------------------------------------
158    Name: Matthias Blume (http://www.tti-c.org/blume/)
159    Date: 2007/01/26 15:10:00 CST
160    Description:
161    
162    Added entries to handle ml-lpt-lib.cm in installer.
163    
164    ----------------------------------------------------------------------
165    Name: Matthias Blume (http://www.tti-c.org/blume/)
166    Date: 2006/12/15 11:10:00 CST
167    Tag: release-110.61
168    Description:
169    
170    New working release (110.61).  NEW BOOTFILES!
171    
172    This supersedes the pre-brown-paper-bug release (see below).
173    
174    ----------------------------------------------------------------------
175    Name: Matthias Blume (http://www.tti-c.org/blume/)
176    Date: 2006/12/15 11:00:00 CST
177    Description:
178    
179    Fixed brown-paper-bag bug with CM's pathname handling, which made
180    installation fail under Win32.
181    
182    ----------------------------------------------------------------------
183    Name: Matthias Blume (http://www.tti-c.org/blume/)
184    Date: 2006/12/14 12:00:00 CST
185    Description:
186    
187    Obsolete!
188    
189    [New working release (110.61).  NEW BOOTFILES!]
190    
191    ----------------------------------------------------------------------
192    Name: John Reppy (http://cs.uchicago.edu/~jhr)
193    Date: 2006/14/06 09:50:00 CST
194    Description:
195    
196    Fixed the code in runtime/c-libs/posix-tty/{tcgetattr,tcsetattr}.c to
197    get the c_cc termios data copied correctly.  Also moved the allocation
198    of the string to avoid problems if it caused a GC.
199    
200    Thanks to Timothy Bourke for the bug report and fix.
201    
202    ----------------------------------------------------------------------
203    Name: Matthias Blume (http://www.tti-c.org/blume)
204    Date: 2006/12/08 09:50:00 CST
205    Description:
206    
207    Added code to CM's "standard shell tool" implementation which
208    causes it to tolerate (with a warning) the situation where the shell
209    command fails (e.g., due to the shell command's non-existence)
210    as long as all target files exist.
211    
212    This makes it possible to, e.g., build ml-yacc from sources even if
213    svn checkout messed up the time stamps on files in such a way that
214    yacc.grm is younger than yacc.grm.sml or yacc.grm.sig.  (Ml-yacc would
215    be needed to re-process yacc.grm, but obviously it might not yet be
216    available at that time.)
217    
218    ----------------------------------------------------------------------
219    Name: John Reppy (http://cs.uchicago.edu/~jhr)
220    Date: 2006/12/06 12:06:00 CST
221    Description:
222    
223    Fixed the types of recvVecFrom, recvVecFrom', recvVecFromNB, and
224    recvVecFromNB' in the SOCKET signature.  This error is actually
225    in the SML Basis specification too.
226    
227    ----------------------------------------------------------------------
228    Name: Matthias Blume (http://www.tti-c.org/blume/)
229    Date: 2006/12/05 22:40:00 CST
230    Description:
231    
232    CM now reports undefined anchors as errors and aborts execution
233    rather than silently pressing on using bogus values.
234    
235    ----------------------------------------------------------------------
236    Name: Matthias Blume (http://www.tti-c.org/blume/)
237    Date: 2006/11/29 10:00:00 CST
238    Description:
239    
240    Use Say.vsay for printing the "[autoloading]" message, so
241    #set CM.Control.verbose false (or -Ccm.verbose=false) can be used
242    to suppress them.
243    
244    ----------------------------------------------------------------------
245    Name: Matthias Blume (http://www.tti-c.org/blume/)
246    Date: 2006/11/10 11:00:00 CST
247    Description:
248    
249    Fixed bug in CM where "with:" specifications that affect compilation
250    (as opposed to parsing) were ignored.
251    
252    ----------------------------------------------------------------------
253    Name: Matthias Blume (http://www.tti-c.org/blume/)
254    Date: 2006/11/09 14:30:00 CST
255    Tag: release-110.60
256    Description:
257    
258    New working release (110.60).  NEW BOOTFILES!
259    
260    This is the first subversion-hosted release.  There are also changes
261    to the directory layout.  Here is a table:
262    
263    (All pathnames are relative to the SML/NJ "root" directory.)
264    
265      config -> config
266    
267      src/cm -> base/cm
268      src/compiler -> base/compiler
269      src/runtime -> base/runtime
270      src/system -> base/system
271    
272      src/cm/pgraph -> pgraph
273    
274      src/READMES -> base/READMES
275      src/$notefile -> base/NOTES/$notefile
276         for <notefile> in BOOT CVSNOTES CYGWININSTALL HISTORY INSTALL
277                           MACOSXINSTALL WININSTALL
278    
279      src/smlnj-lib -> smlnj-lib
280      src/MLRISC -> MLRISC
281      ckit -> ckit
282      src/cml -> cml
283      src/eXene -> eXene
284      src/heap2asm -> heap2asm
285      src/lexgen -> lexgen
286      src/ml-burg -> ml-burg
287      src/ml-lex -> ml-lex
288      src/ml-yacc -> ml-yacc
289      src/ml-nlffi-lib -> nlffi/lib
290      src/ml-nlffigen -> nlffi/gen
291      src/smlnj-c -> smlnj-c
292      src/tools/TraceDebugProf -> trace-debug-profile
293    
294    In addition, there is also a new
295    
296      ml-lpt
297    
298    directory containing two new program generator tools: ml-ulex and
299    ml-antlr (a lexer generator that handles unicode and an ANTRL-inspired
300    LL(k) parser generator). These tools are currently "beta-quality"
301    
302    The latest versios of the sources can now be obtained anonymously
303    via subversion.  For this, it is useful to first check out
304    
305       svn://smlnj-gforge.cs.uchicago.edu/smlnj/admin
306    
307    and put the resulting directory on your shell's PATH.  This provides
308    access to three shell scripts: checkout-all.sh, stat-all.sh,
309    and refresh-all.sh.
310    
311    To create a freshly checked-out copy of the sources, do
312    
313       checkout-all.sh [dir]
314    
315    where dir is the optional SML/NJ root directory (default is ".").
316    
317    This creates the above directory layout.  Each subdirectory of
318    the root is under individual subversion control.  The stat-all.sh
319    and refresh-al.sh scripts apply "svn stat" or "svn update" to
320    each of these subtrees.
321    
322    ----------------------------------------------------------------------
323    Name: Matthias Blume (http://www.tti-c.org/blume/)
324    Date: 2006/11/02 12:20:00 CST
325    Description:
326    
327    Reorganized directory layout.
328    
329    This is a temporary solution, more reorganization is to come.
330    
331    The basic idea is to have a number of toplevel trees, each corresponding
332    to a well-defined part of the overall system.  Each part can be
333    maintained individually, even in separate source repositories,
334    although currently we still serve everything out of the main
335    smlnj-gforge tree.
336    
337    Installer and and scripts have been updated to reflect the new
338    layout.  The installer (base/src/system/smlnj/installer) is now
339    "scriptable" to avoid burning too much knowledge about the
340    layout into SML source code.  The main script used by the installer
341    is in config/actions.
342    
343    The main change is that many of the subdirectories of what used to
344    be known as "src" have moved to the toplevel.  The "src" directory
345    itself has moved down into a subtree called "base".  (We may eventually
346    get rid of the extra level of indirection represented by "src".)
347    
348    The layout is now as follows:
349    
350      toplevel tree name | default repository
351                         | (using gf=svn://smlnj-gforge.cs.uchicago.edu/smlnj)
352      -------------------+----------------------------------------------------
353      config             | $gf/config/trunk
354                         |
355      base               | $gf/sml/trunk
356                         |
357      smlnj-lib          | $gf/smlnj-lib/trunk
358      MLRISC             | $gf/MLRISC/trunk
359                         |
360      ml-yacc            | $gf/ml-yacc/trunk
361      ml-lex             | $gf/ml-lex/trunk
362      ml-burg            | $gf/ml-burg/trunk
363      lexgen             | $gf/lexgen/trunk
364      heap2asm           | $gf/heap2asm/trunk
365                         |
366      cml                | $gf/cml/trunk
367      eXene              | $gf/eXene/trunk
368      ckit               | $gf/ckit/trunk
369      nlffi              | $gf/nlffi/trunk
370                         |
371      smlnj-c            | $gf/smlnj-c/trunk
372    
373    In $gf/admin there are a few useful shell scripts for checking out
374    and maintaining the entire collection of trees:
375    
376       admin/checkout-all.sh [dir]
377          -- optionally creates dir and checks out all trees from their
378             default repositories; if dir is missing, checkout into .
379       admin/refresh-all.sh [dir]
380          -- looks at all trees (from the above list) in dir (default: .)
381             and runs "svn update" if the tree exists and is under
382             subversion control;
383             non-existing or non-subversion trees are skipped
384       admin/stat-all.sh [dir]
385          -- like refresh-all.sh, but runs "svn stat" instead
386    
387    ----------------------------------------------------------------------
388    Name: Matthias Blume (http://www.tti-c.org/blume/)
389    Date: 2006/10/05 11:30:00 CDT
390    Tag: blume-20061005-merge-amd64
391    Description:
392    
393    Merged code for AMD64 backend (Mike Rainey's work).
394    Everything is hooked up but untested.
395    
396    ----------------------------------------------------------------------
397    Name: Matthias Blume (http://www.tti-c.org/blume/)
398    Date: 2006/05/17 14:00:00 CST
399    Tag: Release_110_59
400    Description:
401    
402    New working version (110.59).  NEW BOOTFILES!
403    
404    I am freezing 110.59.  Changes other than the version-number increase:
405    
406      eXene:
407    
408         * committed changes to eXene from Alley Stoughton:
409             "fixed bugs in X authorization and resource handling, as well
410              as in the pile and viewport widgets"
411    
412      Runtime:
413        * fixed linking problem with NetBSD 3.x.
414    
415      Lexgen:
416        * lexgen tool handles non-ascii characters in 7-bit mode the same
417          way that ml-lex does
418    
419        * lexgen propagates exceptions the same way that ml-lex does
420    
421      CML:
422        * Fixed a bug in the SyncVar polling functions (iGetPoll,
423          mTakePoll, and mGetPoll) that could lead to livelock.
424    
425    ----------------------------------------------------------------------
426    Name: Matthias Blume (http://www.tti-c.org/blume/)
427    Date: 2006/05/12 15:20:00 CST
428    Tag: blume-20060515-makedepend
429    Description:
430    
431    Implemented ml-makedepend (i.e., CM.sources) in a better (more robust)
432    way.  This should hopefully fix the ml-makedepend problem permanently.
433    
434    ----------------------------------------------------------------------
435    Name: Matthias Blume (http://www.tti-c.org/blume/)
436    Date: 2006/05/12 15:15:00 CST
437    Tag: blume-20060512-makedepend
438    Description:
439    
440    Fixed long-standing bug with ml-makedepend where it would output a
441    spurious dependency to a non-existing file.  (This is a simple fix.
442    It might need further looking into.)
443    
444    ----------------------------------------------------------------------
445    Name: Matthias Blume (http://www.tti-c.org/blume/)
446    Date: 2006/04/20 10:30:00 CDT
447    Tag: blume-20060420-heap2exec
448    Description:
449    
450    Committed patches received from Johannes 5 Joemann (joemann@befree.free.de)
451    that enable heap2exec under Linux and FreeBSD.
452    
453    ----------------------------------------------------------------------
454    Name: John Reppy
455    Date: 2006/04/14
456    Tag:
457    Description:
458    
459    MLRISC changes:
460      1) renamed GAS_PSEUDO_OPS to AS_PSEUDO_OPS and put it in its own file.
461      2) added support for NOTB and XORB operators in pseudo-op expressions
462      3) added DarwinPseudoOp functor that supports Darwin's assembler syntax.
463      4) added support for 64-bit integer literals
464    
465    ----------------------------------------------------------------------
466    Name: Matthias Blume (http://www.tti-c.org/blume/)
467  Date: yyyy/mm/dd  Date: yyyy/mm/dd
468  Tag: <post-commit CVS tag>  Tag: Release_110_58
469    Description:
470    
471    New working version (110.58).  NEW BOOTFILES!
472    
473    ----------------------------------------------------------------------
474    Name: Matthias Blume (http://www.tti-c.org/blume/)
475    Date: 2006/03/01 22:15:00 CST
476    Tag: blume-20060301-lexgen
477    Description:
478    
479    Incorporated several bugfixes to lexgen.  Compiler now compiles to
480    fixpoint when using lexgen instead of ml-lex.
481    
482    ----------------------------------------------------------------------
483    Name: Matthias Blume (http://www.tti-c.org/blume/)
484    Date: 2006/02/28 22:45:00 CST
485    Tag: blume-20060228-lexgen
486    Description:
487    
488    Removed ml-flex and added lexgen instead, using Aaron Turon's newly
489    provided tarball.  The generated lexers still have problems.
490    
491    ----------------------------------------------------------------------
492    Name: Matthias Blume (http://www.tti-c.org/blume/)
493    Date: 2006/02/26 23:30:00 CST
494    Tag: blume-20060226-ml-flex
495    Description:
496    
497    Removed ml-flex' dependency on regexp-lib.cm.  Turned installation
498    of ml-flex on by default.
499    
500    ----------------------------------------------------------------------
501    Name: Matthias Blume (http://www.tti-c.org/blume/)
502    Date: 2006/02/24 16:30:00 CST
503    Tag: blume-20060224-ml-flex
504    Description:
505    
506    Added ml-flex sources.  Partially integrated, but should not be
507    turned on yet!  (Read: leave it commented-out in config/targets!)
508    
509    ----------------------------------------------------------------------
510    Name: John Reppy (http://www.cs.uchicago.edu/~jhr)
511    Date: 2006/02/23
512    Tag: jhr-20060223-x86-64
513  Description:  Description:
514    Changes to support building on x86-64 systems (using the 32-bit mode).
515    Also cleaned up signal handling on Linux.  Support for pre-2.2 Linux
516    kernels dropped.
517    
518    ----------------------------------------------------------------------
519    Name: Allen Leung (leunga (at) reservoir (dot) com)
520    Date: 2006/02/22 15:07:00 EST
521    Tag: leunga-20060222-mdl-gen
522    Description:
523    
524      CM has changed.  Updated the script for rebuilding the MLRISC generated
525    files.
526    
527    ----------------------------------------------------------------------
528    Name: Matthias Blume (http://www.tti-c.org/blume/)
529    Date: 2006/02/14 17:30:00 CST
530    Tag: blume-20060214-intel-mac
531    Description:
532    
533    Hooked code for Darwin-specific Intel ABI into main compiler.
534    (This is a temporary solution which relies on the fact that the
535    compiler itself does not use NLFFI.  Eventually we need to divorce
536    intel mac from generic x86 unix code and make separate sets of binaries.)
537    
538    ----------------------------------------------------------------------
539    Name: John Reppy (http://www.cs.uchicago.edu/~jhr)
540    Date: 2006/02/13
541    Tag: jhr-20060213-intel-mac
542    Description:
543    Changed MLRISC x86 CCalls for partial support of MacOS X ABI.
544    
545    ----------------------------------------------------------------------
546    Name: John Reppy (http://www.cs.uchicago.edu/~jhr)
547    Date: 2006/02/06
548    Tag: jhr-20060206-intel-mac
549    Description:
550    Changes to support MacOS X on Intel hardware.  The C-calls support in
551    MLRISC must also be updated to support the MacOS X ABI.
552    
553    ----------------------------------------------------------------------
554    Name: Matthias Blume (http://www.tti-c.org/blume/)
555    Date: 2005/12/16 00:15:00 CST
556    Tag: blume-20051216-cm
557    Description:
558    
559    Improved error reporting and handling in CM.
560    
561    ----------------------------------------------------------------------
562    Name: Matthias Blume (http://www.tti-c.org/blume/)
563    Date: 2005/11/21 14:00:00 CST
564    Tag: blume-20051121-html-lib
565    Description:
566    
567    Enabling $/html-lib.cm in config/preloads did not work.  This is fixed
568    now.  (Since the anchor mapping for html-lib.cm is not yet in effect
569    at the time when config/preloads is processed, the library has to
570    be referred to by another name.  In 110.57 this would be
571    $SMLNJ-LIB/HTML/html-lib.cm.  I arranged for $smlnj/smlnj-lib/html-lib.cm
572    to be valid as well.)
573    
574    Thanks to Todd Wilson (Fresno) for alerting me to this issue.
575    
576    ----------------------------------------------------------------------
577    Name: Matthias Blume (http://www.tti-c.org/blume/)
578    Date: 2005/11/19 13:45:00 CST
579    Tag: Release_110_57
580    Description:
581    
582    Moved release tag for 110.57.
583    
584    ----------------------------------------------------------------------
585    Name: Matthias Blume (http://www.tti-c.org/blume/)
586    Date: 2005/11/19 23:35:00 CST
587    Tag: blume-20051119-fish
588    Description:
589    
590    Fixed a problem in config/install.sh where it tries to "fish" the
591    name of the CM metadata directory from the wrong place (because
592    the physical location of basis.cm has changed).  Also, corrected the
593    path anchor for $/html-lib.cm.  (Thanks to M. Fluet for pointing out
594    these problems.)
595    
596    ----------------------------------------------------------------------
597    Name: Matthias Blume (http://www.tti-c.org/blume/)
598    Date: 2005/11/16 14:30:00 CST
599    Tag: blume-orig-110_57
600    Description:
601    
602    New working version (110.57).  NEW BOOTFILES!
603    
604    UPDATE: The release tag has been moved to include a fix for a brown-paper-
605            bag glitch (see above).
606    
607    ----------------------------------------------------------------------
608    Name: Matthias Blume (http://www.tti-c.org/blume/)
609    Date: 2005/11/16 10:25:00 CST
610    Tag: blume-22051116-btrace
611    Description:
612    
613    Fixed problem with bogus exception message when using back-trace
614    facility.
615    
616    ----------------------------------------------------------------------
617    Name: Matthias Blume (http://www.tti-c.org/blume/)
618    Date: 2005/11/15 22:35:00 CST
619    Tag: blume-22051115-array2copy
620    Description:
621    
622    Added simple implementation of Array2.copy.  (Warning: mostly untested.)
623    
624    ----------------------------------------------------------------------
625    Name: Matthias Blume (http://www.tti-c.org/blume/)
626    Date: 2005/11/15 21:35:00 CST
627    Tag: blume-22051115-versiontool
628    Description:
629    
630    Reversed change to src/system/smlnj/internals/versiontool.cm.  This
631    file gets loaded as a tool -- by the equivalent of CM.make during the
632    run of CMB.make.  Thus, CMB's path configuration is meaningless for
633    it.  Instead, it has the status of "user code", so it should use
634    $/basis.cm to refer to the Basis library.  (At least that's true for
635    the purpose of bootstrapping the previous change.  In the future it
636    might make sense to have versiontool.cm refer to
637    $smlnj/basis/basis.cm, i.e., the version of the Basis that the
638    compiler itself uses.)
639    
640    Also patched src/system/testml to have it activate those extra anchor
641    bindings in config/extrapathconfig.
642    
643    ----------------------------------------------------------------------
644    Name: Matthias Blume (http://www.tti-c.org/blume/)
645    Date: 2005/11/15 16:35:00 CST
646    Tag: blume-22051115-libraries
647    Description:
648    
649    This change affects the way the following libraries are tied into
650    the system:
651    
652       $/basis.cm
653       $/smlnj-lib.cm
654       $/pp-lib.cm
655       $/controls-lib.cm
656       $/html-lib.cm
657       $/ml-yacc-lib.cm
658    
659    These libraries are now internally (as seen from the source code
660    of the implementation itself) known by the following names:
661    
662       $smlnj/basis/basis.cm
663       $smlnj/smlnj-lib/smlnj-lib.cm
664       $smlnj/smlnj-lib/pp-lib.cm
665       $smlnj/smlnj-lib/controls-lib.cm
666       $smlnj/smlnj-lib/html-lib.cm
667       $smlnj/ml-yacc/ml-yacc-lib.cm
668    
669    This makes it possible to work with code that requires different
670    versions of these libraries, and which refers to these libraries using
671    their "default" names (i.e., the first set of names above).  In other
672    words, one can un-define or re-define those default names without
673    compromising the proper functioning of the compiler itself.
674    
675    A similar procedure had already been performed for several of the
676    MLRISC libraries that are linked into the compiler.  I did some
677    cleanup on this code.
678    
679    A new file in the config directory (named extrapathconfig) is
680    responsible for setting up path anchors that the compiler itself does
681    not need, but that are typically required by user code.
682    
683    ----------------------------------------------------------------------
684    Name: Matthias Blume
685    Date: 2005/11/07 17:05:00 CST
686    Tag: blume-20051107-slice
687    Description:
688    
689    Fixed erroneous out-of-bounds test in the "update" function of
690    various *ArraySlice modules.  (Thanks to Vesa A. Norrman for pointing
691    out the problem.)
692    
693    Pushed some Basis changes through ML-Lex, CML, and eXene.
694    
695    ----------------------------------------------------------------------
696    Name: John Reppy (http://www.cs.uchicago.edu/~jhr)
697    Date: 2005/11/07
698    Description:
699    Fixed a Basis incompatibility: The depreciated function Substring.all
700    was removed (use Substring.full instead).
701    
702    ----------------------------------------------------------------------
703    Name: John Reppy (http://www.cs.uchicago.edu/~jhr)
704    Date: 2005/11/05
705    Description:
706    Tweaked interval set API in SML/NJ library; see the CHANGES file for details.
707    
708    ----------------------------------------------------------------------
709    Name: Matthias Blume (http://www.tti-c.org/blume/)
710    Date: 2005/11/02 16:25:00 CST
711    Tag: blume-20051102-hex
712    Description:
713    
714    * Runtime system bootstrap code now accepts hex digits in BOOTLIST
715      in either upper case or lower case format.
716    * Pushed changes to names of Pack<N>{Big,Little} structures through
717      CML and eXene.
718    
719    ----------------------------------------------------------------------
720    Name: John Reppy (http://www.cs.uchicago.edu/~jhr)
721    Date: 2005/11/02
722    Description:
723    Fixed a Basis incompatibility: Pack<N>{Big,Little} structures should
724    be called PackWord<N>{Big,Little}.
725    
726    ----------------------------------------------------------------------
727    Name: John Reppy (http://www.cs.uchicago.edu/~jhr)
728    Date: 2005/10/28
729    Description:
730    Fixed a minor Basis incompatibility: hex digits should be upper case.
731    
732    ----------------------------------------------------------------------
733    Name: Matthias Blume (blume (at) tti - c (dot) org)
734    Date: 2005/10/25 16:00:00 CDT
735    Tag: Release_110_56
736    Description:
737    
738    New working version (110.56).  NEW BOOTFILES!
739    
740    ----------------------------------------------------------------------
741    Name: John Reppy (http://www.cs.uchicago.edu/~jhr)
742    Date: 2005/10/25
743    Description:
744    Added interval sets to utility library (signatures INTERVAL_DOMAIN
745    and INTERVAL_SET, and functor IntervalSetFn).
746    
747    ----------------------------------------------------------------------
748    Name: John Reppy (http://www.cs.uchicago.edu/~jhr)
749    Date: 2005/10/14
750    Description:
751    Add Zhong Shao's fix for datatype equality functions.
752    
753    ----------------------------------------------------------------------
754    Name: Allen Leung (leunga (at) reservoir (dot) com)
755    Date: 2005/10/14 12:30:00 EST
756    Tag: leunga-20051014-x86-spill
757    Description:
758    
759    Bug fix a bug found by Carl Hauser.
760    There was a typo in the reload code for FCMP in x86SpillInstr.sml.
761    
762    ----------------------------------------------------------------------
763    Name: Allen Leung (leunga (at) reservoir (dot) com)
764    Date: 2005/10/14 11:15:00 EST
765    Tag: leunga-20051014-x86-asm
766    Description:
767    
768    Removed some debugging code in file x86Asm.sml.
769    The function emit_operand was printing out debugging output.
770    
771    ----------------------------------------------------------------------
772    Name: John Reppy
773    Date: 2005/07/27
774    Tag:
775    Description:
776    
777    Fixed ml-lex to recognize "\r" as representing carriage return.
778    
779    ----------------------------------------------------------------------
780    Name: John Reppy
781    Date: 2005/07/27
782    Tag:
783    Description:
784    
785    Fixed ml-yacc to work on files with non-native end-of-line
786    encodings (e.g., Windows text file on a Unix system).
787    
788    ----------------------------------------------------------------------
789    Name: John Reppy
790    Date: 2005/07/20
791    Tag:
792    Description:
793    
794    Added changes from Dominic Evans (oldmanuk (at) gmail (dot) com)
795    to support HPUX 11.
796    
797    ----------------------------------------------------------------------
798    Name: John Reppy
799    Date: 2005/07/06
800    Tag:
801    Description:
802    
803    Changes to the SML/NJ library.  See smlnj-lib/CHANGES for details.
804    
805    ----------------------------------------------------------------------
806    Name: Matthias Blume (blume (at) tti - c (dot) org)
807    Date: 2005/07/06 00:45:00 CDT
808    Tag: blume-20050706-slice-copy
809    Description:
810    
811    Fixed reversed logic for deciding whether to "copy up" or "copy down"
812    in *-array-slice.sml.
813    
814    ----------------------------------------------------------------------
815    Name: Allen Leung (leunga (at) reservoir (dot) com)
816    Date: 2005/05/31 17:00:00 EST
817    Tag: leunga-20050531-cygwin-fault-2
818    Description:
819    
820    A typo in the cygwin code fixed.
821    
822    ----------------------------------------------------------------------
823    Name: Allen Leung (leunga (at) reservoir (dot) com)
824    Date: 2005/05/31 16:47:00 EST
825    Tag: leunga-20050531-cygwin-fault
826    Description:
827    
828    Updated Cygwin's fault/signal handling to match the Windows version.
829    Updated the export list.
830    
831    ----------------------------------------------------------------------
832    Name: Matthias Blume (blume (at) tti - c (dot) org)
833    Date: 2005/05/18 13:35:00 CDT
834    Tag: Release_110_54
835    Description:
836    
837    New working version (110.54).  NEW BOOTFILES!
838    
839    ----------------------------------------------------------------------
840    Name: Matthias Blume (blume (at) tti - c (dot) org)
841    Date: 2005/05/18 11:58:00 CDT
842    Tag: blume-20050518-installer
843    Description:
844    
845    Added support scripts for Mac OS X PackageMaker and modified
846    config/install.sh so that it supports re-dumping a heap image
847    after customization.
848    
849    ----------------------------------------------------------------------
850    Name: Matthias Blume (blume (at) tti - c (dot) org)
851    Date: 2005/05/18 10:55:00 CDT
852    Tag: blume-20050518-realdiv-noovld
853    Description:
854    
855    Un-overloaded / to work around bug in overloading resolution code.
856    
857    ----------------------------------------------------------------------
858    Name: Matthias Blume (blume (at) tti - c (dot) org)
859    Date: 2005/05/16 23:50:00 CDT
860    Tag: blume-20050516-redump-heap
861    Description:
862    
863    Added mechanism for re-creating a heap file for the interactive system
864    after configuration variables have been changed.
865    
866       CM.redump_heap : string -> unit
867    
868    This is much like SMLofNJ.exportML, but starting from the resulting
869    heap does not return to the caller of CM.redump_heap but
870    restarts the interactive system from scratch.  The original call of
871    CM.redump_heap does not return but ends the interactive session.
872    Thus, CM.redump_heap is a lot like SMLofNJ.exportFn.
873    
874    Internally, redump_heap winds the dynamic execution context back to
875    the point where the original heap image was created and re-executes
876    the heap image generation code in the boot code.
877    
878    ----------------------------------------------------------------------
879    Name: Matthias Blume (blume (at) tti - c (dot) org)
880    Date: 2005/05/09 21:55:00 CDT
881    Tag: blume-20050509-word64
882    Description:
883    
884    Added a hack to the existing hack known as Word64 to make fromString
885    behave correctly.  I am still not sure whether Word64.scan will work
886    as specified with respect to the interaction of radix and prefix.
887    
888    ----------------------------------------------------------------------
889    Name: Allen Leung (leunga (at) reservoir (dot) com)
890    Date: 2005/05/04 11:50:00 EST
891    Tag: leunga-20050504-checkgc
892    Description:
893    
894    Added a gc protocol checking phase.  This phase is enabled with
895    the flag "check-gc".  "debug-check-gc" turns on the verbose mode.
896    
897    ----------------------------------------------------------------------
898    Name: Matthias Blume (blume (at) tti - c (dot) org)
899    Date: 2005/05/04 10:45:00 CDT
900    Tag: blume-20050504-intinf
901    Description:
902    
903    Fixed a bug in the implementation of div and mod for IntInf.
904    Thanks to Neophytos Michael for reporting the problem.
905    
906    ----------------------------------------------------------------------
907    Name: Matthias Blume (blume (at) tti - c (dot) org)
908    Date: 2005/05/04 10:35:00 CDT
909    Tag: blume-20050504-join
910    Description:
911    
912    Added a "join" combinator to the ParserComb module in smlnj-lib.cm.
913    
914    ----------------------------------------------------------------------
915    Name: Matthias Blume (blume (at) tti - c (dot) org)
916    Date: 2005/02/28 23:40:00 CST
917    Tag: blume-20050228-mVar
918    Description:
919    
920    Fixed serious bug (brown paper bag variety) in new implementation of
921    structure Atom in CML.  (I had accidentally used a mailbox instead of
922    an mvar, leaving the door open for races.)
923    
924    ----------------------------------------------------------------------
925    Name: Matthias Blume (blume (at) tti - c (dot) org)
926    Date: 2005/02/25 15:00:00 CST
927    Tag: Release_110_53
928    Description:
929    
930    New working version (110.53).  NEW BOOTFILES!
931    
932    ----------------------------------------------------------------------
933    Name: Matthias Blume (blume (at) tti - c (dot) org)
934    Date: 2005/02/25 14:50:00 CST
935    Tag: blume-20050225-susp
936    Description:
937    
938    Brought back SMLofNJ.Susp.  The underlying suspension type is the one
939    implemented in Core -- which means that it is the same as the one used
940    by the lazy extension.
941    
942    ----------------------------------------------------------------------
943    Name: Matthias Blume (blume (at) tti - c (dot) org)
944    Date: 2005/02/24 16:50:00 CST
945    Tag: blume-20050224-cml-atom
946    Description:
947    
948    Simpler and at the same time more general implementation of structure
949    Atom in CML.
950    
951    ----------------------------------------------------------------------
952    Name: Matthias Blume (blume (at) tti - c (dot) org)
953    Date: 2005/02/15 17:35:00 CST
954    Tag: blume-20050215-tools
955    Description:
956    
957    Created new "tools" directory under "src" and moved "TraceDebugProf"
958    there.
959    
960    ----------------------------------------------------------------------
961    Name: Matthias Blume (blume (at) tti - c (dot) org)
962    Date: 2005/02/10 17:55:00 CST
963    Tag: blume-20050210-longlong
964    Description:
965    
966    Implemented "long long" arguments and results for NLFFI.  (Only the
967    PPC/MacOS implementation is complete, the other backends still need to
968    be updated.)
969    
970    ----------------------------------------------------------------------
971    Name: Matthias Blume (blume (at) tti - c (dot) org)
972    Date: 2005/01/24 17:40:00 CST
973    Tag: blume-20050124-mlyacc
974    Description:
975    
976    Minor cleanup in ML-Yacc rule printing mechanism.  This should fix a
977    problem with certain "as" patterns which previously got rendered
978    using incorrect syntax.
979    
980    ----------------------------------------------------------------------
981    Name: Matthias Blume (blume (at) tti - c (dot) org)
982    Date: 2005/01/18 12:00:00 CST
983    Tag: blume-20050118-profile
984    Description:
985    
986    Made time profiling code (interrupt handler) in runtime system aware
987    of new array representation.
988    
989    ----------------------------------------------------------------------
990    Name: Matthias Blume (blume (at) tti - c (dot) org)
991    Date: 2005/01/14 18:00:00 CST
992    Tag: blume-20050114-heap2exec
993    Description:
994    
995    Implemented new (but still experimental) heap2exec facility.  This is
996    tested under Mac OS X and should work under Linux (will test shortly).
997    It will probably also work on the Sparc (will test some time later).
998    
999      - removed old "HACKED_STANDALONE" hack from runtime
1000    
1001    To be able to test this, uncomment the request for "heap2asm" in
1002    config/targets prior to installation.  (Notice that this is different
1003    from "heap2exec" mentioned below.  Not a typo.)
1004    
1005    To perform an actual test, run the command
1006    
1007       $ bin/heap2exec heapfile execfile
1008    
1009    (You can put heap2exec on your shell's path.)
1010    
1011    For example, run
1012    
1013      $ bin/heap2exec bin/.heap/ml-yacc.ppc-darwin mly
1014    
1015    This will create a standalone executable called "mly" which you can
1016    then invoke directly as a command.
1017    
1018    ----------------------------------------------------------------------
1019    Name: Matthias Blume (blume (at) tti - c (dot) org)
1020    Date: 2005/01/07 11:44:00 CST
1021    Tag: blume-20050107-mlstring
1022    Description:
1023    
1024    fixed off-by-one error in ML_STRING macro (globals.c)
1025    
1026    ----------------------------------------------------------------------
1027    Name: Matthias Blume (blume (at) tti - c (dot) org)
1028    Date: 2004/12/23 18:00:00 CST
1029    Tag: blume-20041223-santa
1030    Description:
1031    
1032    Made ml-build script "smarter" (but only very little).
1033    
1034    ----------------------------------------------------------------------
1035    Name: Matthias Blume (blume (at) tti - c (dot) org)
1036    Date: 2004/12/21 15:05:00 CST
1037    Tag: blume-20041221-longlong
1038    Description:
1039    
1040    * Implemented access to signed and unsigned long long data in NLFFI.
1041    (The parameter-passing part of the picture has not complete. But
1042    data structure access seems to work.)
1043    
1044    * Fixed CM's incorrect assumption that the PPC is little-endian.
1045      (On the Mac, it is big-endian.  And that's currently our only
1046      PPC platform.)
1047    
1048    ----------------------------------------------------------------------
1049    Name: Matthias Blume (blume (at) tti - c (dot) org)
1050    Date: 2004/12/21 12:50:00 CST
1051    Tag: blume-20041221-memory
1052    Description:
1053    
1054    Some cleanup in the $c/memory.cm library: separated some concerns by
1055    moving allocation code and memory access code each into their own
1056    files.
1057    
1058    ----------------------------------------------------------------------
1059    Name: Allen Leung (leunga (at) reservoir (dot) com)
1060    Date: 2004/12/17 16:12:00 EST
1061    Tag: leunga-20041217-cygwin-smlnj-home
1062    Description:
1063    
1064        The Unix I/O library of SML/NJ on cygwin does not understand
1065    Windows style pathname, so problems arise when SMLNJ_HOME is set
1066    to a Windows style pathname.  _run-sml now converts SMLNJ_HOME
1067    to a POSIX pathname on cygwin.
1068    
1069    ----------------------------------------------------------------------
1070    Name: Matthias Blume (blume (at) tti - c (dot) org)
1071    Date: 2004/12/16 13:35:00 CST
1072    Tag: Release_110_52
1073    Description:
1074    
1075    Last-minute changes incorporated into 110.52.  Release tag moved.
1076    
1077    The changes:
1078       - HashString.hashString' -> HashString.hashSubstring
1079       - bug fix in UnivariateStats
1080    
1081    ----------------------------------------------------------------------
1082    Name: Matthias Blume (blume (at) tti - c (dot) org)
1083    Date: 2004/12/15 23:40:00 CST
1084    Tag: blume-20041215-hashSubstring
1085    Description:
1086    
1087    - HashString.hashString' -> HashString.hashSubstring
1088    - corresponding changes in atom.sml
1089    - "de-compressed" (aka. un-obfuscated) code for UnivariateStats and
1090      added some comments
1091    
1092    ----------------------------------------------------------------------
1093    Name: Matthias Blume (blume (at) tti - c (dot) org)
1094    Date: 2004/12/15 15:30:00 CST
1095    Tag: (Release_110_52)
1096    Description:
1097    
1098    New working version (110.52).  NEW BOOTFILES!
1099    
1100    ----------------------------------------------------------------------
1101    Name: Matthias Blume (blume (at) tti - c (dot) org)
1102    Date: 2004/12/15 12:45:00 CST
1103    Tag: blume-20041215-spaces
1104    Description:
1105    
1106    More on the space problem (this time for Win32).
1107    
1108    ----------------------------------------------------------------------
1109    Name: Matthias Blume (blume (at) tti - c (dot) org)
1110    Date: 2004/12/14 17:30:00 CST
1111    Tag: blume-20041214-spaces
1112    Description:
1113    
1114    Hacked some of the scripts (in particular: the installer) to cope with
1115    spaces in filenames a bit better.  But beware: the current "solution"
1116    is likely still full of bugs and inherently incomplete.  (We need to
1117    do away with those shell scripts for a comprehensive solution.)
1118    
1119    ----------------------------------------------------------------------
1120    Name: Matthias Blume (blume (at) tti - c (dot) org)
1121    Date: 2004/12/13 14:45:00 CST
1122    Tag: blume-20041213-ml-makedepend
1123    Description:
1124    
1125    Fixed bug in code for ml-makedepend.
1126    
1127    ----------------------------------------------------------------------
1128    Name: Matthias Blume (blume (at) tti - c (dot) org)
1129    Date: 2004/12/09 16:30:00 CST
1130    Tag: blume-20041209-statistics
1131    Description:
1132    
1133    Added two simple but potentially useful statistics modules to SML/NJ Library.
1134    (See CHANGES file there.)
1135    
1136    ----------------------------------------------------------------------
1137    Name: Matthias Blume (blume (at) tti - c (dot) org)
1138    Date: 2004/12/01 16:50:00 CST
1139    Tag: blume-20041201-atom
1140    Description:
1141    
1142    smlnj-lib:
1143    
1144      Added function HashString.hashString' for substrings.
1145      Hand-inlined CharVector.foldl into HashString (for speed).
1146      Modified implementation of structure Atom to avoid extracting
1147      strings from substrings unless necessary.
1148      (Also see CHANGES file for smlnj-lib.)
1149    
1150    ----------------------------------------------------------------------
1151    Name: Matthias Blume (blume (at) tti - c (dot) org)
1152    Date: 2004/11/24 22:15:00 CST
1153    Tag: blume-20041124-cml
1154    Description:
1155    
1156    Made sure CML compiles when Position = Int64.
1157    
1158    ----------------------------------------------------------------------
1159    Name: Matthias Blume (blume (at) tti - c (dot) org)
1160    Date: 2004/11/24 14:30:00 CST
1161    Tag: blume-20041124-position
1162    Description:
1163    
1164    The compiler can now be compiled in a mode that makes structure Position
1165    equal to Int64.  The default, however, is unchanged (Position = Int31)
1166    for the time being.
1167    
1168    To enable 64-bit positions, use the following procedure:
1169    
1170    1. Start sml
1171    2. Autoload $smlnj/cmb.cm (if not already autoloaded)
1172    3. Type
1173          #set (CMB.symval "USE_64_BIT_POSITIONS") (SOME 1);
1174    4. Run CMB.make() as usual.
1175    
1176    This is barely tested.  The only test so far was a little SML program
1177    counting the number of characters in an 8-gigabyte file by
1178    reading it character-by-character.  That test was successful.
1179    
1180    In support of 64-bit positions, a number of new functions have been
1181    added to the runtime system.
1182    
1183    ----------------------------------------------------------------------
1184    Name: Matthias Blume (blume (at) tti - c (dot) org)
1185    Date: 2004/11/23 14:45:00 CST
1186    Tag: blume-20041123-useFile
1187    Description:
1188    
1189    Fixed a problem with unhelpful error messages related to problems with
1190    .cm- or .sml files that appear as part of the sml command line.
1191    
1192    ----------------------------------------------------------------------
1193    Name: Matthias Blume (blume (at) tti - c (dot) org)
1194    Date: 2004/11/18 15:40:00 CST
1195    Tag: Release_110_51
1196    Description:
1197    
1198    New working version (110.51).  NEW BOOTFILES!
1199    
1200    ----------------------------------------------------------------------
1201    Name: Matthias Blume (blume (at) tti - c (dot) org)
1202    Date: 2004/11/18 15:35:00 CST
1203    Tag: <none>
1204    Description:
1205    
1206    Enabled dlopen and friends for FreeBSD (as recommended by Johannes 5
1207    Joemann).
1208    
1209    ----------------------------------------------------------------------
1210    Name: Allen Leung (leunga (at) reservoir (dot) com)
1211    Date: 2004/11/17 16:05:21 EST 2004
1212    Tag: leunga-20041117-mlrisc-live-kill
1213    Description:
1214    
1215       Added support for MLTree constructs LIVE and KILL
1216    to all the architectures.
1217    
1218    ----------------------------------------------------------------------
1219    Name: Matthias Blume (blume (at) tti - c (dot) org)
1220    Date: 2004/11/13 00:20:00 CST
1221    Tag: blume-20041113-versiontool
1222    Description:
1223    
1224    - Stripped down the versiontool: It now only handles the version number.
1225      The date string is generated at bootstrap time (during makeml).
1226    
1227    - In a previous commit, fixed a minor issue with how polyequal is being
1228      translated.  In particular, the code now "looks through" abstractions.
1229      This results in slightly fewer polyEqual warnings and hopefully slightly
1230      more efficient code.  Important examples for where this matters are
1231      the new int64 and word64 types.
1232    
1233    ----------------------------------------------------------------------
1234    Name: Matthias Blume (blume (at) tti - c (dot) org)
1235    Date: 2004/11/12 00:30:00 CST
1236    Tag: blume-20041112-int64
1237    Description:
1238    
1239    Structure Int64 fully hooked in.  (The implementation is not very
1240    efficient, though.)
1241    
1242    ----------------------------------------------------------------------
1243    Name: Matthias Blume (blume (at) tti - c (dot) org)
1244    Date: 2004/11/11 17:30:00 CST
1245    Tag: blume-20041111-more64
1246    Description:
1247    
1248    All the pieces of Word64 are now there, with the exception of the
1249    conversions from and to LargeWord. (Eventually these need to be identities,
1250    but for the time being they don't even make sense because LargeWord is
1251    32-bit wide.)
1252    
1253    Also started to add similar support for Int64, but major pieces of that
1254    are still missing.
1255    
1256    ----------------------------------------------------------------------
1257    Name: Matthias Blume (blume (at) tti - c (dot) org)
1258    Date: 2004/11/11 00:15:00 CST
1259    Tag: blume-20041111-word64
1260    Description:
1261    
1262    Structure Word64 is now (almost) complete, word literals and patterns
1263    seem to work.  There are a few odd pieces missing.  In particular,
1264    I didn't do the {from,to}LargeWord parts because LargeWord is still Word32
1265    at the moment.
1266    
1267    Making Word64 official would mean that LargeWord becomes Word64.  But
1268    this requires extreme care because most word-word conversions have to
1269    go through LargeWord, so making a mistake means loss of efficiency or
1270    worse.  Eventually there will be a solution similar to (but actually
1271    simpler than) what I did with IntInf.
1272    
1273    ----------------------------------------------------------------------
1274    Name: Matthias Blume (blume (at) tti - c (dot) org)
1275    Date: 2004/11/10 18:12:00 CST
1276    Tag: blume-20041110-64bit
1277    Description:
1278    
1279    More 64-bit hacking (but still not even half-way there yet).
1280    Also, some assorted improvements to the handling of 8-bit words.
1281    
1282    ----------------------------------------------------------------------
1283    Name: Matthias Blume (blume (at) tti - c (dot) org)
1284    Date: 2004/11/09 17:50:00 CST
1285    Tag: <none>
1286    Description:
1287    
1288    Started adding some infrastructure for supporting 64-bit int- and
1289    word-types.  (Still in its very early stages.)
1290    
1291    ----------------------------------------------------------------------
1292    Name: Matthias Blume (blume (at) tti - c (dot) org)
1293    Date: 2004/10/28 10:45:00 CDT
1294    Tag: Release_110_50
1295    Description:
1296    
1297    New working version (110.50).  NEW BOOTFILES!
1298    
1299                 =====================
1300    
1301    Also:
1302    
1303      - Changend config/srcarchiveurl from a file just
1304        containing the URL string into a file containing
1305        shell script code.  The code has access to the $VERSION variable.
1306      - Made corresponding changes to config/install.sh and config/unpack.
1307      - Default contents of config/srcarchiveurl uses $VERSION and
1308        normally does not have to be edited to reflect a version change.
1309    
1310      (As a result, a version change can be done by just editing
1311       config/version, the rest is now automatic.)
1312    
1313    ----------------------------------------------------------------------
1314    Name: Matthias Blume (blume (at) tti - c (dot) org)
1315    Date: 2004/10/27 17:50:00 CDT
1316    Tag: blume-20041027-btrace-msg
1317    Description:
1318    
1319    BackTrace.monitor now also reports the source of the exception that
1320    triggered the trace.
1321    
1322    ----------------------------------------------------------------------
1323    Name: Matthias Blume (blume (at) tti - c (dot) org)
1324    Date: 2004/10/27 17:20:00 CDT
1325    Tag: blume-20041027-x86-c-calls
1326    Description:
1327    
1328    This is the HISTORY entry for two earlier commits, both concerning
1329    the x86 c-calls code in MLRISC:
1330    
1331      - added a missing LOAD in the code that deals with struct arguments
1332      - made sure the caller does not add the wrong number of bytes to the
1333        stack pointer after a call of a function returning a struct
1334        (the callee already pops the implicit argument which points to
1335         the space reserved for the result)
1336    
1337    ----------------------------------------------------------------------
1338    Name: Allen Leung (leunga (at) reservoir (dot) com)
1339    Date: 2004/10/24 14:00:00 EST
1340    Tag: leunga-20041024-x86-gas-fucomip
1341    Description:
1342    
1343       John discovered a bug in the syntax of fucomip.
1344       The opcodes FU?COMIP? have been changed to
1345    
1346           fu?comip? %st(i), %st
1347    
1348    ----------------------------------------------------------------------
1349    Name: Matthias Blume (blume (at) tti - c (dot) org)
1350    Date: 2004/10/20 15:06:00 CDT
1351    Tag: blume-20041020-standalone-backtrace
1352    Description:
1353    
1354    Added a mechanism for getting back-trace information from standalone
1355    programs.  Here is how it works:
1356    
1357       1. The part of the program from which you want to get backtrace
1358          information (usually the whole program) should be wrapped with
1359          BackTrace.monitor.  This is a (unit->'a)->'a function, and your
1360          main program could be modified from something like
1361    
1362             fun main (pgm, args) = ...
1363    
1364         to
1365    
1366            fun main (pgm, args) = BackTrace.monitor (fn () => ...)
1367    
1368       2. To be able to access BackTrace.monitor, you have to add
1369          library $smlnj-tdp/plugins.cm to the .cm file that contains your
1370          main function.
1371    
1372       3. Remove all compiled code (i.e., all the .cm/ subdirectories that
1373          CM might have created in the past for your project).
1374    
1375       4. Build the system using this command line:
1376    
1377             ml-build -Ctdp.instrument=true \$smlnj-tdp/back-trace.cm \
1378                      myprog.cm MyProg.main myprog
1379    
1380          instead of the usual
1381    
1382             ml-build myprog.cm MyProg.main myprog
1383    
1384    I changed a library name:
1385    
1386       $/trace-debug-profile.cm --> $smlnj-tdp/plugins.cm
1387    
1388    New libraries:
1389    
1390       $smlnj-tdp/back-trace.cm
1391          -- when loaded causes the back-trace plugin to be installed
1392       $smlnj-tdp/coverage.cm
1393          -- when loaded causes the coverage plugin to be installed
1394    
1395    ----------------------------------------------------------------------
1396    Name: Matthias Blume (blume (at) tti - c (dot) org)
1397    Date: 2004/10/18 16:45:00 CDT
1398    Tag: blume-20041018-groupowner
1399    Description:
1400    
1401    Added an "obsolete" warning for the "group owner" syntax to CM's parser.
1402    
1403    Eliminated group owner specs from .cm files throughout the source tree.
1404    
1405    ----------------------------------------------------------------------
1406    Name: Matthias Blume (blume (at) tti - c (dot) org)
1407    Date: 2004/10/15 15:45:00 CDT
1408    Tag: blume-20041015-coverage
1409    Description:
1410    
1411    * Test coverage tool added!
1412    * Further reorganization of tracing-, debugging-, and profiling support:
1413    
1414        - moved original BTImp -- now called BackTrace -- into a separate
1415          library called $/trace-debug-profile.cm
1416        - eliminated all mentions of BTrace from SMLofNJ.Internals
1417        - only the instrumentation mechanism is now left in the compiler proper
1418        - BackTrace module is a plugin which is NOT plugged in by default
1419        - Coverage module is another such plugin
1420    
1421    To get the benefits of any of these plugin modules, the code in
1422    question must be compiled with tdp instrumentation turned on.  This
1423    can be done by setting SMLofNJ.Internals.TDP.mode to true.
1424    (The ref cell is also controlled via the -Ctdp.instrument=... switch.)
1425    
1426    Plugins are selected at link time.  (Pre-compiled instrumented code
1427    can be re-loaded with different plugins in effect.)  When an
1428    instrumented module is linked, whatever plugins are at that time
1429    enabled will come into effect for that module.
1430    
1431    To enable the back-trace plugin, load library $/trace-debug-profile.cm
1432    and invoke BackTrace.install() (e.g., from the interactive prompt).
1433    To enable the coverage plugin, load the same library and invoke
1434    Coverage.install().
1435    
1436    Back-traces are generated automatically on uncaught exceptions and
1437    when the code in question explicitly invokes BackTrace.trigger().
1438    
1439    Coverage (and execution frequency-) information must be queried
1440    explicitly by calling Coverage.not_covered and Coverage.hot_spots.
1441    
1442    ----------------------------------------------------------------------
1443    Name: Matthias Blume (blume (at) tti - c (dot) org)
1444    Date: 2004/10/14 17:40:00 CDT
1445    Tag: blume-20041014-tdp-core
1446    Description:
1447    
1448    Snapshot of a significant overhaul of how the trace/debug/profile support
1449    is hooked into the system (specifically: Core and SMLofNJ.Internals).
1450    
1451    ----------------------------------------------------------------------
1452    Name: Matthias Blume (blume (at) tti - c (dot) org)
1453    Date: 2004/10/13 16:34:00 CDT
1454    Tag: blume-20041013-tdp
1455    Description:
1456    
1457    Some rationalization of names:
1458    
1459       structure BTrace -> structure TDPInstrument
1460       etc.
1461    
1462    This is is preparation of using the original back-trace
1463    instrumentation for other purposes.  "TDP" stands for
1464    Trace/Debug/Profile.
1465    
1466    The control flag controlling whether instrumentation is on or off is now
1467    registered under a different name, so instead of running sml as
1468    
1469     sml -Cinstrument.btrace-mode=true
1470    
1471    one has to say
1472    
1473     sml -Ctdp.instrument=true
1474    
1475    ----------------------------------------------------------------------
1476    Name: Matthias Blume (blume (at) tti - c (dot) org)
1477    Date: 2004/10/11 16:37:00 CDT
1478    Tag: blume-20041011-regions
1479    Description:
1480    
1481    Made some minor modifications to elabcore.sml to have source regions
1482    be propagated more tightly -- resulting in better (i.e., smaller)
1483    regions being reported in error- and debug messages.
1484    
1485    ----------------------------------------------------------------------
1486    Name: Matthias Blume (blume (at) tti - c (dot) org)
1487    Date: 2004/10/08 22:50:00 CDT
1488    Tag: blume-20041008-cmkw
1489    Description:
1490    
1491    Fixed handling of keywords in .cm files: After seeing "is" the lexer
1492    treats subsequent occurrences of "group", "library", "source", "is",
1493    "*", and "-" as ordinary identifiers rather than keywords.
1494    
1495    Most seriously, this fixes a problem with CM's "shell" tool.  The tool
1496    is supposed to accept a tool argument called "source", but this did
1497    not work because of the clash with the keyword.
1498    
1499    ----------------------------------------------------------------------
1500    Name: Matthias Blume (blume (at) tti - c (dot) org)
1501    Date: 2004/10/07 16:00:00 CDT
1502    Tag: blume-20041007-cleanup
1503    Description:
1504    
1505    Assorted cleanup work:
1506    
1507      - got rid of intstrmap in favor of using the library's
1508        hash table implementation
1509      - threw out most of the pathnames stuff, as it was not used anyway
1510      - simplified tokentable implementation
1511      - fixed some minor spelling errors
1512    
1513    ----------------------------------------------------------------------
1514    Name: Matthias Blume (blume (at) tti - c (dot) org)
1515    Date: 2004/10/06 15:15:15 CDT
1516    Tag: blume-20041006-handler
1517    Description:
1518    
1519    Cleaned up the absyn to reflect the invariant that HANDLE always
1520    carries a FNexp as part of the type definition.  This eliminates some
1521    superfluous sanity checks at runtime down the road.
1522    
1523    Some minor cleanup of the btrace code.
1524    
1525    ----------------------------------------------------------------------
1526    Name: Matthias Blume (blume (at) tti - c (dot) org)
1527    Date: 2004/10/01 10:20:30 CDT
1528    Tag: blume-20041001-slave
1529    Description:
1530    
1531    Added hack to make slave mode work in the presence of the version
1532    tool.  (Still, since the master does two passes over the code for
1533    CMB.make, the release number gets bumped twice when slaves are
1534    attached.  I don't know if this is worth fixing...)
1535    
1536    ----------------------------------------------------------------------
1537    Name: Matthias Blume (blume (at) tti - c (dot) org)
1538    Date: 2004/09/30 10:55:00 CDT
1539    Tag: blume-20040930-version
1540    Description:
1541    
1542    * Moved the "version" magic into its own little library under
1543      src/system/smlnj/internal.  This avoids expensive reconstruction of
1544      a stable src/compiler/core.cm.
1545    
1546    * At the same time, structure CompilerVersion is now known as
1547      structure SMLNJVersion.
1548    
1549    * Arranged for the version tool to NOT kick in when rebuilding the system
1550      (makeml -rebuild, fixpt).  Otherwise one would never reach a fixpoint.
1551      Also, loading the versiontool does not work when rebuilding the system
1552      because CM is not properly initialized at that time.
1553    
1554    ----------------------------------------------------------------------
1555    Name: Matthias Blume (blume (at) tti - c (dot) org)
1556    Date: 2004/09/29 14:00:00 CDT
1557    Tag: blume-20040929-autoversion
1558    Description:
1559    
1560    Implemented some CM magic to have
1561        file src/compiler/TopLevel/main/version.sml
1562    generated automagically.
1563    The version is taken from two files: config/version and config/release.
1564    The first is expected to contain a two-part version number such as 110.49.
1565    The second should contain a single number, but it may be missing.
1566    
1567    If the environment variable VERSIONTOOL_BUMP_RELEASE is defined at the
1568    time the version tool is loaded (which is the first time you say CMB.make),
1569    then the tool will increment the value stored in config/release every
1570    time CMB.make is invoked.
1571    
1572    The binfile format is now insensitive to anything beyond the first
1573    two components of a version number, so bumping the release does not render
1574    binfiles incompatible.  Auto-bumping can be used to keep track of versions
1575    during development without invalidating existing binfiles.
1576    
1577    In any case, every CMB.make updates the date information in version.sml.
1578    (This is the date that is printed in the banner.)
1579    
1580    ----------------------------------------------------------------------
1581    Name: Matthias Blume (blume (at) tti - c (dot) org)
1582    Date: 2004/09/28 10:53:00 CDT
1583    Tag: blume-20040928-controls
1584    Description:
1585    
1586    Some cleanup of the controls code.
1587    
1588    ----------------------------------------------------------------------
1589    Name: Matthias Blume (blume (at) tti - c (dot) org)
1590    Date: 2004/09/27 22:08:00 CDT
1591    Tag: blume-20040927-controls
1592    Description:
1593    
1594    Added two pieces of functionality to the Controls interface:
1595    
1596    1.   val save'restore: 'a control -> unit -> unit
1597    
1598       grabs the current value of the control in stage 1 and restores it
1599       in stage 2.
1600    
1601    2.   val set' : 'a control * 'a -> unit -> unit
1602    
1603       stores the given value into the control in stage 2 (i.e., delayed)
1604       but does all error checking in stage 1.
1605       (This is for string controls that need to do parse their argument --
1606        something that might fail.  In some cases, notably in CM, one
1607        already knows the intended argument but wants to delay the actual
1608        assignment until a time when error recovery would be more difficult.)
1609    
1610    Changed the handling of controls in tool arguments to classes "sml" and
1611    "lazysml":
1612       - use Controls.save'restore as a more robust way of restoring the
1613         old value (in particular: without having to re-parse the string)
1614       - use controls to handle the "overload" keyword in the init group
1615         (I believe this change actually fixes a long-standing obscure bug.)
1616    
1617    ----------------------------------------------------------------------
1618    Name: Matthias Blume (blume (at) tti - c (dot) org)
1619    Date: 2004/09/27 17:00:00 CDT
1620    Tag: blume-20040927-lazysml
1621    Description:
1622    
1623    Added a new tool class called "lazysml" to CM's tool chest.  The only
1624    difference to "sml" is that compilation is done with Control.lazysml
1625    set to true.  A source of class "lazysml" is automatically recognized
1626    by a file name suffix of ".lml".
1627    
1628    In addition to the above feature, the original class "sml" now also
1629    supports a tool argument "lazy" which has the same effect.  As a
1630    result, the following three lines are equivalent:
1631    
1632        foo.sml : lazysml
1633        foo.sml : sml (lazy)
1634        foo.sml (lazy)
1635    
1636    The setting goes into effect both during parsing and during
1637    compilation.  The original setting is restored right after parsing and
1638    after compilation, respectively.
1639    
1640    In addition to all the above, there is also a general mechanism to set
1641    ANY of the "controls" that are available at the command line via
1642    "-C..." on a per-sml-file basis.  The same rules that apply for "lazy"
1643    apply as well. (In fact, "lazy" is implemented as a special case of
1644    the general mechanism.)
1645    
1646    The .cm file syntax uses a new keyword tool argument called "with".
1647    There are several ways of indicating the desired settings:
1648    
1649        foo.sml (with:parser.quotations=true)
1650        foo.sml (with:(name:parser.quotations value:true))
1651        foo.sml (with:(name:name1 value:value1 name:name2 value:value2 ...))
1652        foo.sml (with:(name1=value1 name2=value2 ...))
1653        foo.sml (with:(name1=value1 name:name2 value:value2 name3=value3 ...))
1654    
1655        etc.
1656    
1657    Another possible abbreviation is to leave out the =v or value:v part
1658    if the name refers to a boolean control (in which case the value is
1659    taken to be true).  Thus, one could get lazy sml also by saying:
1660    
1661        foo.sml (with:parser.lazy-keyword=true)
1662        foo.sml (with:parser.lazy-keyword)
1663        foo.sml (with:(name:parser.lazy-keyword value:true))
1664        foo.sml (with:(name:parser.lazy-keyword))
1665    
1666    ----------------------------------------------------------------------
1667    Name: Matthias Blume (blume (at) tti - c (dot) org)
1668    Date: 2004/09/24 16:22:00 CDT
1669    Tag: blume-20040924-ppc-long-branch
1670    Description:
1671    
1672    Turned message about "emiting long form of branch" off by default.
1673    Added a control flag to turn it back on when desired.
1674    
1675    ----------------------------------------------------------------------
1676    Name: Matthias Blume (blume (at) tti - c (dot) org)
1677    Date: 2004/09/24 16:05:00 CDT
1678    Tag: blume-20040924-rounding
1679    Description:
1680    
1681    Applied patch for setting rounding modes under Mac OS X.  Thanks to
1682    Melissa O'Neill for providing the code!
1683    
1684    ----------------------------------------------------------------------
1685    Name: Matthias Blume (blume (at) tti - c (dot) org)
1686    Date: 2004/09/23 17:30:00 CDT
1687    Tag: blume-20040923-envvars
1688    Description:
1689    
1690    1. Changed definition of type ControlRegistry.registry_tree to
1691       include control_info (i.e., the name of the controlling environment
1692       variable).
1693    
1694    2. Added command-line flags -e and -E to print the names of environment
1695       variables that can be used to control internal settings.
1696       (This uses the new API mentioned in 1.)
1697    
1698    ----------------------------------------------------------------------
1699    Name: Matthias Blume (blume (at) tti - c (dot) org)
1700    Date: 2004/09/13 16:50:00 CDT
1701    Tag: Release_110_49
1702    Description:
1703    
1704    New working version (110.49).  NEW BOOTFILES!
1705    
1706    ----------------------------------------------------------------------
1707    Name: Matthias Blume
1708    Date: 2004/09/13 16:20:00 CDT
1709    Tag: blume-20040913-config-mlrisc
1710    Description:
1711    
1712    Put target "mlrisc" back into the default list.
1713    (There is no harm in having it, and some users have expressed their
1714    wish to have "mlrisc" included by default.)
1715    
1716    ----------------------------------------------------------------------
1717    Name: John Reppy
1718    Date: 2004/09/13
1719    Tag: jhr-20040913-signals
1720    Description:
1721    
1722    Fixed the signal masking code to properly nest mask/unmask operations
1723    on a per-signal basis.
1724    
1725    ----------------------------------------------------------------------
1726    Name: Matthias Blume (blume (at) tti - c (dot) org)
1727    Date: 2004/09/08 13:20:00 CDT
1728    Tag: blume-20040908-heap-magic
1729    Description:
1730    
1731    Bumped the heap macig number to 0x09082004 to account for the changed
1732    layout of the ML frame under MacOS X.
1733    
1734    ----------------------------------------------------------------------
1735    Name: Allen Leung (leunga (at) reservoir (dot) com)
1736    Date: 2004/09/03 11:26:00 EST
1737    Tag: leunga-20040903-cygwin-install
1738    Description:
1739    
1740       Added a patch to _arch-n-opsys to enable the Cygwin runtime.
1741    The Cygwin runtime is turned on by setting the environment
1742    variable SMLNJ_CYGWIN_RUNTIME to 1.
1743    
1744    ----------------------------------------------------------------------
1745    Name: Matthias Blume (blume (at) tti - c (dot) org)
1746    Date: 2004/08/31 17:15:00 CDT
1747    Tag: blume-20040831-core
1748    Description:
1749    
1750    Added some exports to src/compiler/core.cm upon request by J. Joemann.
1751    
1752    ----------------------------------------------------------------------
1753    Name: Matthias Blume (blume (at) tti - c (dot) org)
1754    Date: 2004/08/30 17:55:00 CDT
1755    Tag: blume-20040830-installer
1756    Description:
1757    
1758    Upon request by Johannes Joemann:
1759    
1760    - improved ML code of installer to fall back to coping when renaming
1761      fails (i.e., when source and target are on different file systems);
1762      the code compiles but has yet to be tested in anger
1763    - removed mlrisc from list of default targets (config/targets)
1764    
1765    ----------------------------------------------------------------------
1766    Name: Matthias Blume (blume (at) tti - c (dot) org)
1767    Date: 2004/08/27 17:20:00 CDT
1768    Tag: blume-20040827-ptreql
1769    Description:
1770    
1771    Added ptreql primop to structure InlineT (upon request from Larry
1772    Paulson).
1773    
1774    ----------------------------------------------------------------------
1775    Name: Allen Leung (leunga (at) reservoir (dot) com)
1776    Date: 2004/08/15 21:21:00 EST
1777    Tag: leunga-110_48-udgraph
1778    Description:
1779    
1780    Another bug fix from Carl Hauser:
1781    
1782    diff /net/niflab/smlnj48/src/MLRISC/graphs/udgraph.sml udgraph.sml
1783    > 48c48
1784    > <              | rmv((e as (k,_))::es,L) = rmv(es,if k = i then es else
1785    > e::L)
1786    > ---
1787    > >              | rmv((e as (k,_))::es,L) = rmv(es,if k = i then L else e::L)
1788    > Without this, any deletion of an edge in an undirected graph does severe
1789    > violence to the graph.
1790    
1791  ----------------------------------------------------------------------  ----------------------------------------------------------------------
1792  Name: Allen Leung (leunga (at) reservoir (dot) com)  Name: Allen Leung (leunga (at) reservoir (dot) com)
# Line 22  Line 1798 
1798    
1799  ----------------------------------------------------------------------  ----------------------------------------------------------------------
1800  Name: Matthias Blume (blume (at) tti - c (dot) org)  Name: Matthias Blume (blume (at) tti - c (dot) org)
1801  Date: 2004/10/04 12:00:00 CDT  Date: 2004/08/10 12:00:00 CDT
1802  Tag: Release_110_48  Tag: Release_110_48
1803  Description:  Description:
1804    

Legend:
Removed from v.1613  
changed lines
  Added in v.2358

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