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

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

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