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

Legend:
Removed from v.1638  
changed lines
  Added in v.2570

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