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 /doc/trunk/src/changelog/HISTORY.txt
ViewVC logotype

Diff of /doc/trunk/src/changelog/HISTORY.txt

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

revision 4601, Wed May 16 12:46:32 2018 UTC revision 4603, Wed May 16 17:48:24 2018 UTC
# Line 1  Line 1 
1  Standard ML of New Jersey Change Log  = Standard ML of New Jersey Change Log
 ====================================  
2  The Fellowship of SML/NJ  The Fellowship of SML/NJ
3  {version}, {releasedate}:  :revnumber: {version}
4    :revdate: {releasedate}
5    :source-highlighter: pygments
6    
7  This file documents changes to the *Standard ML of New Jersey* system since  This file documents changes to the *Standard ML of New Jersey* system since
8  March of 2000 (around Version 110.26).  The change log  primarily covers  March of 2000 (around Version 110.26).  The change log  primarily covers
# Line 21  Line 22 
22  for new versions, so keep that in mind when writing the  for new versions, so keep that in mind when writing the
23  description.  description.
24    
25    Also note that we now use Asciidoctor (asciidoctor.org) to process the
26    file, since the original Asciidoc is no longer under active development
27    and asciidoctor is also faster.
28  The structure of the HISTORY is that there is a section for  The structure of the HISTORY is that there is a section for
29  each release, which starts with a section header of the form  each release, which starts with a section header of the form
30    
# Line 33  Line 37 
37      +      +
38      Description ...      Description ...
39      +      +
40      owner:[Your Name,URL]      owner:URL[Your Name]
41    
42  Note that we put "+" at the beginning of blank lines.  Entries are items  Note that we put "+" at the beginning of blank lines.  Entries are items
43  in a labeled list and the "+" character keeps eveything in the same list  in a labeled list and the "+" character keeps eveything in the same list
# Line 44  Line 48 
48      +                                   new paragraph      +                                   new paragraph
49      *foo*                               bold "foo"      *foo*                               bold "foo"
50      _foo_                               italic "foo"      _foo_                               italic "foo"
51      +foo+                               teletype "foo"      `foo`                               teletype "foo"
52      http:/some.website.org/path[]       URL      http:/some.website.org/path[]       URL
53      bugref:[123]                        displays as "#123" with      bugref:123[]                        displays as "#123" with
54                                          a link to the bug report.                                          a link to the bug report.
55      reqref:[123]                        displays as "#123" with a      bugref:123[feature]                 displays as "#123" with a
56                                          link to the feature request.                                          link to the feature request.
57      owner:[name,url]                    displays name with URL link.      owner:url[name]                     displays name with URL link.
58    
59  Sub lists should be bracketed with lines containing just "--".  Sub lists should be bracketed with lines containing just "--".
60  Bulleted list items start with a single dash or one to five  Bulleted list items start with a single dash or one to five
# Line 74  Line 78 
78  structure Foo = struct val x = 1 end  structure Foo = struct val x = 1 end
79  ------------  ------------
80    
81  Source code will be stylized using the pygmentize (http://pygments.org)  To process the file, you will need asciidoctor and the pygments.rb gem
82  tool.  installed.  See the Asciidoctor manual at https://asciidoctor.org/docs/user-manual
83    for more information.
 More information about asciidoc can be found at http://asciidoc.org.  
84    
85  NOTE: the original HISTORY file was converted to ASCIIDOC using a Perl  NOTE: the original HISTORY file was converted to ASCIIDOC using a Perl
86  script.  This script gets the basic structure for entries correct,  script.  This script gets the basic structure for entries correct,
# Line 93  Line 96 
96  //--------------------------------------------------------------------  //--------------------------------------------------------------------
97  [2018/05/16]::  [2018/05/16]::
98  +  +
99  Fix a bug where "++0w++" was being accepted as a prefix for a hexidecimal  Fix a bug where "`0w`" was being accepted as a prefix for a hexidecimal
100  word value in ++Word.fromString++/++scan++ (ignoring case, only "++0x++"  word value in `Word.fromString`/`scan` (ignoring case, only "`0x`"
101  and "++0wx++" are valid prefixes).  This change fixes bug number 1375  and "`0wx`" are valid prefixes).  This change fixes bug number 1375
102  from the old openbugs list.  from the old openbugs list.
103  +  +
104  owner:[John Reppy,http://cs.uchicago.edu/~jhr]  owner:cs.uchicago.edu/~jhr[John Reppy]
105    
106  //--------------------------------------------------------------------  //--------------------------------------------------------------------
107  [2018/05/13]::  [2018/05/13]::
# Line 107  Line 110 
110  The parser was more restrictive than the definition.  This change  The parser was more restrictive than the definition.  This change
111  fixes bug number 1370 from the old openbugs list.  fixes bug number 1370 from the old openbugs list.
112  +  +
113  owner:[John Reppy,http://cs.uchicago.edu/~jhr]  owner:cs.uchicago.edu/~jhr[John Reppy]
114    
115  //--------------------------------------------------------------------  //--------------------------------------------------------------------
116  [2018/05/12]::  [2018/05/12]::
117  +  +
118  The lexer gave an unmatched close comment error on "++*)++", when it  The lexer gave an unmatched close comment error on "`*)`", when it
119  should have scanned it as the tokens "++*++" "**)**".  This change  should have scanned it as the tokens "`*`" "**)**".  This change
120  fixes bug number 330 in the old openbugs list.  fixes bug number 330 in the old openbugs list.
121  +  +
122  **Note**: there is some ambiguity as to what the correct behavior  **Note**: there is some ambiguity as to what the correct behavior
# Line 124  Line 127 
127  but we choose to revert to accepting this sequence, since to match  but we choose to revert to accepting this sequence, since to match
128  the 1997 Definition.  the 1997 Definition.
129  +  +
130  owner:[John Reppy,http://cs.uchicago.edu/~jhr]  owner:cs.uchicago.edu/~jhr[John Reppy]
131    
132  //--------------------------------------------------------------------  //--------------------------------------------------------------------
133  [2018/05/07]::  [2018/05/07]::
# Line 132  Line 135 
135  The `sameSign` function returned incorrect results in the `Int31`  The `sameSign` function returned incorrect results in the `Int31`
136  and `Int32` modules.  and `Int32` modules.
137  +  +
138  owner:[John Reppy,http://cs.uchicago.edu/~jhr]  owner:cs.uchicago.edu/~jhr[John Reppy]
139    
140  //--------------------------------------------------------------------  //--------------------------------------------------------------------
141  [2018/05/07]::  [2018/05/07]::
# Line 147  Line 150 
150    parse the file `system/smlnj/init/built-in.sml`.    parse the file `system/smlnj/init/built-in.sml`.
151  --  --
152  +  +
153  owner:[John Reppy,http://cs.uchicago.edu/~jhr]  owner:cs.uchicago.edu/~jhr[John Reppy]
154    
155  //--------------------------------------------------------------------  //--------------------------------------------------------------------
156  [2018/05/05]::  [2018/05/05]::
# Line 160  Line 163 
163  worries about large tagged integer values that might cause overflow  worries about large tagged integer values that might cause overflow
164  during code generation.  during code generation.
165  +  +
166  owner:[John Reppy,http://cs.uchicago.edu/~jhr]  owner:cs.uchicago.edu/~jhr[John Reppy]
167    
168  //--------------------------------------------------------------------  //--------------------------------------------------------------------
169  [2018/04/21]::  [2018/04/21]::
# Line 169  Line 172 
172  use the original source text when describing the value in the error  use the original source text when describing the value in the error
173  message.  message.
174  +  +
175  owner:[John Reppy,http://cs.uchicago.edu/~jhr]  owner:cs.uchicago.edu/~jhr[John Reppy]
176    
177  //--------------------------------------------------------------------  //--------------------------------------------------------------------
178  [2018/04/20]::  [2018/04/20]::
179  +  +
180  Fix for bug bugref:[191] (Compiler crash when handling large reals).  Fix for bug bugref:191[] (Compiler crash when handling large reals).
181  We now issue a warning for real literals that will round to zero and  We now issue a warning for real literals that will round to zero and
182  an error for real literals that are too large to represent.  There  an error for real literals that are too large to represent.  There
183  still needs to be done some work to support sub-normal literal values  still needs to be done some work to support sub-normal literal values
184  (these are currently rounded to zero).  (these are currently rounded to zero).
185  +  +
186  owner:[John Reppy,http://cs.uchicago.edu/~jhr]  owner:cs.uchicago.edu/~jhr[John Reppy]
187    
188  //--------------------------------------------------------------------  //--------------------------------------------------------------------
189  [2018/04/14]::  [2018/04/14]::
190  +  +
191  Changed the representation of real literals from strings to ++RealLit.t++.  Changed the representation of real literals from strings to `RealLit.t`.
192  +  +
193  owner:[John Reppy,http://cs.uchicago.edu/~jhr]  owner:cs.uchicago.edu/~jhr[John Reppy]
194    
195  //--------------------------------------------------------------------  //--------------------------------------------------------------------
196  [2018/04/13]::  [2018/04/13]::
# Line 195  Line 198 
198  Removed real patterns from Absyn and FLINT, since they are not allowed  Removed real patterns from Absyn and FLINT, since they are not allowed
199  by SML'93 and were not present in the AST representation.  by SML'93 and were not present in the AST representation.
200  +  +
201  owner:[John Reppy,http://cs.uchicago.edu/~jhr]  owner:cs.uchicago.edu/~jhr[John Reppy]
202    
203  //--------------------------------------------------------------------  //--------------------------------------------------------------------
204  [2018/04/12]::  [2018/04/12]::
205  +  +
206  Fix for bug bugref:[194] (++Real.fromString++ overflows or hangs).  There  Fix for bug bugref:194[] (`Real.fromString` overflows or hangs).  There
207  were two issues here.  First, the +Overflow+ exception was being raised  were two issues here.  First, the `Overflow` exception was being raised
208  when scanning large exponents, but it was not being handled by the  when scanning large exponents, but it was not being handled by the
209  scanning code.  The second issue was that the scaling loop for large  scanning code.  The second issue was that the scaling loop for large
210  exponents did not immediately terminate once infinity (or zero) was  exponents did not immediately terminate once infinity (or zero) was
211  reached, so it could take a long time.  reached, so it could take a long time.
212  +  +
213  owner:[John Reppy,http://cs.uchicago.edu/~jhr]  owner:cs.uchicago.edu/~jhr[John Reppy]
214    
215  //--------------------------------------------------------------------  //--------------------------------------------------------------------
216  [2017/10/16]::  [2017/10/16]::
217  +  +
218  Moved the check for whether a int or word literal is in range for  Moved the check for whether a int or word literal is in range for
219  its type from the absyn->plambda translation to the overload  its type from the absyn->plambda translation to the overload
220  resolver (++compiler/Elaborator/types/overload.sml++).  resolver (`compiler/Elaborator/types/overload.sml`).
221  +  +
222  owner:[John Reppy,http://cs.uchicago.edu/~jhr]  owner:cs.uchicago.edu/~jhr[John Reppy]
223    
224  //--------------------------------------------------------------------  //--------------------------------------------------------------------
225  [2017/10/14]::  [2017/10/14]::
226  +  +
227  Part 1 of an overhaul of the way that the compiler treats int/word  Part 1 of an overhaul of the way that the compiler treats int/word
228  literals.  The end goal is to use ++IntInf.int++ to represent literals  literals.  The end goal is to use `IntInf.int` to represent literals
229  throughout all phases of the compiler.  In this step, we changed the  throughout all phases of the compiler.  In this step, we changed the
230  representation of literals in the ++Absyn++ representation (earlier  representation of literals in the `Absyn` representation (earlier
231  representations already used IntInf.int).  representations already used IntInf.int).
232  +  +
233  owner:[John Reppy,http://cs.uchicago.edu/~jhr]  owner:cs.uchicago.edu/~jhr[John Reppy]
234    
235  //====================================================================  //====================================================================
236  == Version 110.82; 2017/10/16  == Version 110.82; 2017/10/16
# Line 235  Line 238 
238  //--------------------------------------------------------------------  //--------------------------------------------------------------------
239  [2017/10/01]::  [2017/10/01]::
240  +  +
241  Fixed unnumbered bug in ++IntInf.mod++ and ++IntInf.rem++ functions,  Fixed unnumbered bug in `IntInf.mod` and `IntInf.rem` functions,
242  where the ++Div++ exception was *not* getting raised when both  where the `Div` exception was *not* getting raised when both
243  arguments are ++0++.  arguments are `0`.
244  +  +
245  owner:[John Reppy,http://cs.uchicago.edu/~jhr]  owner:cs.uchicago.edu/~jhr[John Reppy]
246    
247  //--------------------------------------------------------------------  //--------------------------------------------------------------------
248  [2017/09/20]::  [2017/09/20]::
249  +  +
250  Various bits of cleanup in the handling of primitive operations, such  Various bits of cleanup in the handling of primitive operations, such
251  as removing the +ptnum+ mechanism for translating from Absyn to FLINT.  as removing the `ptnum` mechanism for translating from Absyn to FLINT.
252  +  +
253  owner:[David MacQueen,http://cs.uchicago.edu/~dbm]  owner:cs.uchicago.edu/~dbm[David MacQueen]
254    
255  //--------------------------------------------------------------------  //--------------------------------------------------------------------
256  [2017/09/20]::  [2017/09/20]::
257  +  +
258  Added +Target+ module, which specifies the properties of the target  Added `Target` module, which specifies the properties of the target
259  (__e.g.__, the size in bits of the default int type).  Reworked the  (__e.g.__, the size in bits of the default int type).  Reworked the
260  generation of the +InlineT+ structure to be target specific.  generation of the `InlineT` structure to be target specific.
261  +  +
262  owner:[John Reppy,http://cs.uchicago.edu/~jhr]  owner:cs.uchicago.edu/~jhr[John Reppy]
263    
264  //--------------------------------------------------------------------  //--------------------------------------------------------------------
265  [2017/09/18]::  [2017/09/18]::
266  +  +
267  Removed FLINT primops (and their CPS counterparts) that are not  Removed FLINT primops (and their CPS counterparts) that are not
268  in the +InlineT+ structure and, thus, are never used by the compiler.  in the `InlineT` structure and, thus, are never used by the compiler.
269  +  +
270  owner:[John Reppy,http://cs.uchicago.edu/~jhr]  owner:cs.uchicago.edu/~jhr[John Reppy]
271    
272  //--------------------------------------------------------------------  //--------------------------------------------------------------------
273  [2017/09/18]::  [2017/09/18]::
274  +  +
275  Fixed bug bugref:[123] (missing nonexhaustive bind warning). The +mkVBs+  Fixed bug bugref:123[] (missing nonexhaustive bind warning). The `mkVBs`
276  function in +FLINT/trans/translate.sml+ was adding a redundant default  function in `FLINT/trans/translate.sml` was adding a redundant default
277  rule by calling ++ElabUtil.completeMatch++ after a default rule had  rule by calling `ElabUtil.completeMatch` after a default rule had
278  already been explicitly added to the match for let bindings.  already been explicitly added to the match for let bindings.
279  +  +
280  owner:[David MacQueen,http://cs.uchicago.edu/~dbm]  owner:cs.uchicago.edu/~dbm[David MacQueen]
281    
282  //--------------------------------------------------------------------  //--------------------------------------------------------------------
283  [2017/09/18]::  [2017/09/18]::
284  +  +
285  Fixed bug bugref:[183] (status code returned by sml REPL).  This fix  Fixed bug bugref:183[] (status code returned by sml REPL).  This fix
286  restores the version 110.79 behavior of having +sml foo.sml+ exit with  restores the version 110.79 behavior of having `sml foo.sml` exit with
287  a non-zero status when there is a type-checking error in ++foo.sml++.  a non-zero status when there is a type-checking error in `foo.sml`.
288  It also cleans up the error messages associated with +use+ when there  It also cleans up the error messages associated with `use` when there
289  is a syntax error.  is a syntax error.
290  +  +
291  owner:[John Reppy,http://cs.uchicago.edu/~jhr]  owner:cs.uchicago.edu/~jhr[John Reppy]
292    
293  //--------------------------------------------------------------------  //--------------------------------------------------------------------
294  [2017/08/28]::  [2017/08/28]::
295  +  +
296  Fixed bug bugref:[185] (Bring command line help text into parity with man page).  Fixed bug bugref:185[] (Bring command line help text into parity with man page).
297  Added missing options (++@SMLversion++ and ++@SMLsuffix++) to the  Added missing options (`@SMLversion` and `@SMLsuffix`) to the
298  help message that is printed for the command "++sml -h++".  Also  help message that is printed for the command "`sml -h`".  Also
299  adjusted the order of options in the help message, and in the man  adjusted the order of options in the help message, and in the man
300  page, so that the orders match.  page, so that the orders match.
301  +  +
302  owner:[John Reppy,http://cs.uchicago.edu/~jhr]  owner:cs.uchicago.edu/~jhr[John Reppy]
303    
304  //--------------------------------------------------------------------  //--------------------------------------------------------------------
305  [2017/08/12]::  [2017/08/12]::
# Line 308  Line 311 
311  probes will be higher and there are more registers available to hold  probes will be higher and there are more registers available to hold
312  the nursery bounds.  the nursery bounds.
313  +  +
314  owner:[John Reppy,http://cs.uchicago.edu/~jhr]  owner:cs.uchicago.edu/~jhr[John Reppy]
315    
316  //--------------------------------------------------------------------  //--------------------------------------------------------------------
317  [2017/08/12]::  [2017/08/12]::
# Line 318  Line 321 
321  that the available space was tracked that could conceivably  that the available space was tracked that could conceivably
322  result in a crash (but was very unlikely).  result in a crash (but was very unlikely).
323  +  +
324  owner:[John Reppy,http://cs.uchicago.edu/~jhr]  owner:cs.uchicago.edu/~jhr[John Reppy]
325    
326  //--------------------------------------------------------------------  //--------------------------------------------------------------------
327  [2017/06/07]::  [2017/06/07]::
# Line 326  Line 329 
329  Updated _arch-n-os script to recognize macOS 10.13 (High Sierra)  Updated _arch-n-os script to recognize macOS 10.13 (High Sierra)
330  as a valid target.  as a valid target.
331  +  +
332  owner:[John Reppy,http://cs.uchicago.edu/~jhr]  owner:cs.uchicago.edu/~jhr[John Reppy]
333    
334  //--------------------------------------------------------------------  //--------------------------------------------------------------------
335  [2017/05/17]::  [2017/05/17]::
# Line 338  Line 341 
341  is UTF-8 and uses the "\\u" escape sequences for characters outside  is UTF-8 and uses the "\\u" escape sequences for characters outside
342  the JSON escapes and printable ASCII characters.  the JSON escapes and printable ASCII characters.
343  +  +
344  owner:[John Reppy,http://cs.uchicago.edu/~jhr]  owner:cs.uchicago.edu/~jhr[John Reppy]
345    
346  //====================================================================  //====================================================================
347  == Version 110.81; 2017/05/01  == Version 110.81; 2017/05/01
# Line 346  Line 349 
349  //--------------------------------------------------------------------  //--------------------------------------------------------------------
350  [2017/04/28]::  [2017/04/28]::
351  +  +
352  Fixed bug bugref:[129] (Symbolic identifiers are allowed as strids).  Fixed bug bugref:129[] (Symbolic identifiers are allowed as strids).
353  +  +
354  owner:[Dave MacQueen,http://cs.uchicago.edu/~dbm]  owner:cs.uchicago.edu/~dbm[Dave MacQueen]
355    
356  //--------------------------------------------------------------------  //--------------------------------------------------------------------
357  [2017/04/07]::  [2017/04/07]::
358  +  +
359  Fixed bug bugref:[179] (ml-ulex writing debug messages to stdOut).  Fixed bug bugref:179[] (ml-ulex writing debug messages to stdOut).
360  Both **ml-ulex** and **ml-antlr** now direct their debug and status messages  Both **ml-ulex** and **ml-antlr** now direct their debug and status messages
361  to ++stdErr++ (instead of ++stdOut++).  to `stdErr` (instead of `stdOut`).
362  +  +
363  owner:[John Reppy,http://cs.uchicago.edu/~jhr]  owner:cs.uchicago.edu/~jhr[John Reppy]
364    
365  //--------------------------------------------------------------------  //--------------------------------------------------------------------
366  [2017/02/09]::  [2017/02/09]::
367  +  +
368  Linux distributions are starting to require that the stack be marked  Linux distributions are starting to require that the stack be marked
369  as non-executable in applications.  Because the runtime system includes  as non-executable in applications.  Because the runtime system includes
370  assembly code, this marking was not happening.  We've added ++.section++  assembly code, this marking was not happening.  We've added `.section`
371  directives to the ++PPC.prim.asm++ and ++X86.prim.asm++ files as  directives to the `PPC.prim.asm` and `X86.prim.asm` files as
372  per https://wiki.gentoo.org/wiki/Hardened/GNU_stack_quickstart#Patching[].  per https://wiki.gentoo.org/wiki/Hardened/GNU_stack_quickstart#Patching[].
373  Thanks to Daniel Moerner for reporting this issue and for providing  Thanks to Daniel Moerner for reporting this issue and for providing
374  a pointer to the fix.  a pointer to the fix.
375  +  +
376  owner:[John Reppy,http://cs.uchicago.edu/~jhr]  owner:cs.uchicago.edu/~jhr[John Reppy]
377    
378  //--------------------------------------------------------------------  //--------------------------------------------------------------------
379  [2016/10/15]::  [2016/10/15]::
380  +  +
381  Added ++--debug++ command-line option to *ml-antlr*.  Added `--debug` command-line option to *ml-antlr*.
382  This flag causes <b>ml-antlr</b> to generate debug actions that print  This flag causes <b>ml-antlr</b> to generate debug actions that print
383  the left-hand-side non-terminal of the production.  the left-hand-side non-terminal of the production.
384  +  +
385  owner:[John Reppy,http://cs.uchicago.edu/~jhr]  owner:cs.uchicago.edu/~jhr[John Reppy]
386    
387  //--------------------------------------------------------------------  //--------------------------------------------------------------------
388  [2016/09/15]::  [2016/09/15]::
# Line 388  Line 391 
391  dependent on the target word size and abstracting over the BIBOP  dependent on the target word size and abstracting over the BIBOP
392  representation in the runtime system.  representation in the runtime system.
393  +  +
394  owner:[John Reppy,http://cs.uchicago.edu/~jhr]  owner:cs.uchicago.edu/~jhr[John Reppy]
395    
396  //--------------------------------------------------------------------  //--------------------------------------------------------------------
397  [2016/09/15]::  [2016/09/15]::
398  +  +
399  Further cleanup of the separation of FLINT from the front-end.  Further cleanup of the separation of FLINT from the front-end.
400  Eliminated all references to +ModulePropLists+ (+module-plists.sml+) in  Eliminated all references to `ModulePropLists` (`module-plists.sml`) in
401  the front end and in pickling, and moved ++module-plists++ from  the front end and in pickling, and moved `module-plists` from
402  ++Semant/modules++ to ++FLINT/trans++.  +ModulePropLists+ is now only used  `Semant/modules` to `FLINT/trans`.  `ModulePropLists` is now only used
403  in +FLINT/trans/translate.sml+.  in `FLINT/trans/translate.sml`.
404  +  +
405  Revision: 4314  Revision: 4314
406  +  +
407  Files changed:  Files changed:
408  +  +
409  --  --
410  - +compiler/ElabData/modules/modules.sml+  (cleaned up)  - `compiler/ElabData/modules/modules.sml`  (cleaned up)
411  - +compiler/Elaborator/print/ppmod.sml+ (cleaned up)  - `compiler/Elaborator/print/ppmod.sml` (cleaned up)
412  - +compiler/FLINT/trans/module-plists.sml+ (moved from +Semant/modules+)  - `compiler/FLINT/trans/module-plists.sml` (moved from `Semant/modules`)
413  - +compiler/Semant/modules/instantiate-param.sml+ (deleted)  - `compiler/Semant/modules/instantiate-param.sml` (deleted)
414  - +compiler/Semant/pickle/pickmod.sml+ (no longer mentions property lists)  - `compiler/Semant/pickle/pickmod.sml` (no longer mentions property lists)
415  - +compiler/Semant/pickle/unpickmod.sml+ (ditto)  - `compiler/Semant/pickle/unpickmod.sml` (ditto)
416  - +compiler/Semant/statenv/prim.sml+  - `compiler/Semant/statenv/prim.sml`
417  - +compiler/Semant/types/tp-var-info.sml+  (deleted)  - `compiler/Semant/types/tp-var-info.sml`  (deleted)
418  - +compiler/core.cm+  (modified for move of +module-plists.sml+)  - `compiler/core.cm`  (modified for move of `module-plists.sml`)
419  --  --
420  +  +
421  owner:[Dave MacQueen,http://cs.uchicago.edu/~dbm]  owner:cs.uchicago.edu/~dbm[Dave MacQueen]
422    
423  //--------------------------------------------------------------------  //--------------------------------------------------------------------
424  [2016/09/14]::  [2016/09/14]::
425  +  +
426  Eliminated dependency of ++PlambdaType++ from the front end by adding a  Eliminated dependency of `PlambdaType` from the front end by adding a
427  type ++TKind.tkind++ which is a simplified standin for ++PlambdaType.tkind++  type `TKind.tkind` which is a simplified standin for `PlambdaType.tkind`
428  for use during elaboration. ++TKind.tkind++ values are translated on  for use during elaboration. `TKind.tkind` values are translated on
429  demand to ++PlambdaType.tkind++ in ++trans/transtypes.sml++. Types still has  demand to `PlambdaType.tkind` in `trans/transtypes.sml`. Types still has
430  a ++tycpath++ type but it is defined using ++TKind.tkind++ now. The new structure  a `tycpath` type but it is defined using `TKind.tkind` now. The new structure
431  ++SigPropList++ replaces ++ModulePropLists++  `SigPropList` replaces `ModulePropLists`
432  (++Semant/modules/module-plists.sml++) for use in ++instantiate.sml++.  (`Semant/modules/module-plists.sml`) for use in `instantiate.sml`.
433  ++Instantiate++ is now defined directly as a structure so the functor  `Instantiate` is now defined directly as a structure so the functor
434  application in ++Semant/modules/instantiate.sml++ no longer exists.  application in `Semant/modules/instantiate.sml` no longer exists.
435  +  +
436  Files changed:  Files changed:
437  +  +
438  --  --
439  - +ElabData/basics/debindex.sig+  (moved here from +Elaborator/basics+)  - `ElabData/basics/debindex.sig`  (moved here from `Elaborator/basics`)
440  - +ElabData/basics/debindex.sml+  (ditto)  - `ElabData/basics/debindex.sml`  (ditto)
441  - +ElabData/basics/sig-plist.sml+ (new)  - `ElabData/basics/sig-plist.sml` (new)
442  - +ElabData/basics/tkind.sml+     (new)  - `ElabData/basics/tkind.sml`     (new)
443  - +ElabData/types/types.sig+  - `ElabData/types/types.sig`
444  - +ElabData/types/types.sml+  - `ElabData/types/types.sml`
445  - +Elaborator/modules/instantiate.sml+  - `Elaborator/modules/instantiate.sml`
446  - +Elaborator/print/ppmod.sml+  - `Elaborator/print/ppmod.sml`
447  - +FLINT/trans/transtkind.sml+    (new)  - `FLINT/trans/transtkind.sml`    (new)
448  - +FLINT/trans/transtypes.sml+  - `FLINT/trans/transtypes.sml`
449  - +TopLevel/interact/evalloop.sml+  - `TopLevel/interact/evalloop.sml`
450  - +ElabData/elabdata.cm+  - `ElabData/elabdata.cm`
451  - +Elaborator/elaborate.cm+  - `Elaborator/elaborate.cm`
452  - +core.cm+  - `core.cm`
453  --  --
454  +  +
455  owner:[Dave MacQueen,http://cs.uchicago.edu/~dbm]  owner:cs.uchicago.edu/~dbm[Dave MacQueen]
456    
457  //--------------------------------------------------------------------  //--------------------------------------------------------------------
458  [2016/09/14]::  [2016/09/14]::
459  +  +
460  Added support for Successor ML record-expression-punning syntax.  For  Added support for Successor ML record-expression-punning syntax.  For
461  example, one can now define a function ++f++ as  example, one can now define a function `f` as
462  +  +
463  [source,sml]  [source,sml]
464  ----------------  ----------------
# Line 469  Line 472 
472  fun f x = {x = x}  fun f x = {x = x}
473  ----------------  ----------------
474  +  +
475  owner:[John Reppy,http://cs.uchicago.edu/~jhr]  owner:cs.uchicago.edu/~jhr[John Reppy]
476    
477  //--------------------------------------------------------------------  //--------------------------------------------------------------------
478  [2016/09/14]::  [2016/09/14]::
# Line 477  Line 480 
480  Fixed a bug in the parser.  Asterix (`*`) was not allowed as a record label  Fixed a bug in the parser.  Asterix (`*`) was not allowed as a record label
481  when using the record-pattern-punning syntax.  when using the record-pattern-punning syntax.
482  +  +
483  owner:[John Reppy,http://cs.uchicago.edu/~jhr]  owner:cs.uchicago.edu/~jhr[John Reppy]
484    
485  //--------------------------------------------------------------------  //--------------------------------------------------------------------
486  [2016/09/14]::  [2016/09/14]::
487  +  +
488  Added support for `do exp` *Successor ML* syntax.  Added support for `do exp` *Successor ML* syntax.
489  +  +
490  owner:[John Reppy,http://cs.uchicago.edu/~jhr]  owner:cs.uchicago.edu/~jhr[John Reppy]
491    
492  //--------------------------------------------------------------------  //--------------------------------------------------------------------
493  [2016/09/12]::  [2016/09/12]::
494  +  +
495  Fixed bug bugref:[153] (Enabling Successor ML features is delayed).  Fixed bug bugref:153[] (Enabling Successor ML features is delayed).
496  We now use a function ++Control.setSuccML++ to switch to/from *Successor ML*  We now use a function `Control.setSuccML` to switch to/from *Successor ML*
497  mode in the REPL. The function resets the parser, so the next input will  mode in the REPL. The function resets the parser, so the next input will
498  be correctly parsed.  The ++Control.succML++ flag is no longer visibile  be correctly parsed.  The `Control.succML` flag is no longer visibile
499  in the REPL.  in the REPL.
500  +  +
501  owner:[John Reppy,http://cs.uchicago.edu/~jhr]  owner:cs.uchicago.edu/~jhr[John Reppy]
502    
503  //--------------------------------------------------------------------  //--------------------------------------------------------------------
504  [2016/09/12]::  [2016/09/12]::
505  +  +
506  Fixed bug bugref:[149] (Datatype replication exposes hidden constructors).  Fixed bug bugref:149[] (Datatype replication exposes hidden constructors).
507  Added boolean field +stripped+ to DATATYPE variant of tyckind in  Added boolean field `stripped` to DATATYPE variant of tyckind in
508  +compiler/ElabData/types/types.sml+ with default value +false+.  `compiler/ElabData/types/types.sml` with default value `false`.
509  +stripped+ is set to true when a datatype is matched with a simple  `stripped` is set to true when a datatype is matched with a simple
510  +type+ spec in signature matching, and datatypes with +stripped+ set  `type` spec in signature matching, and datatypes with `stripped` set
511  to true are disallowed in datatype replications.  to true are disallowed in datatype replications.
512  +  +
513  Files changed:  Files changed:
514  +  +
515  --  --
516  - +compiler/ElabData/types/types.sig+  - `compiler/ElabData/types/types.sig`
517  - +compiler/ElabData/types/types.sml+  - `compiler/ElabData/types/types.sml`
518  - +compiler/ElabData/types/typesutil.sml+  - `compiler/ElabData/types/typesutil.sml`
519  - +compiler/ElabData/types/core-basictypes.sml+  - `compiler/ElabData/types/core-basictypes.sml`
520  - +compiler/Elaborator/types/basictypes.sml+  - `compiler/Elaborator/types/basictypes.sml`
521  - +compiler/Elaborator/types/eqtypes.sml+  - `compiler/Elaborator/types/eqtypes.sml`
522  - +compiler/Elaborator/modules/evalent.sml+  - `compiler/Elaborator/modules/evalent.sml`
523  - +compiler/Elaborator/modules/sigmatch.sml+  - `compiler/Elaborator/modules/sigmatch.sml`
524  - +compiler/Elaborator/modules/instantiate.sml+  - `compiler/Elaborator/modules/instantiate.sml`
525  - +compiler/Elaborator/print/ppabsyn.sml+  - `compiler/Elaborator/print/ppabsyn.sml`
526  - +compiler/Elaborator/print/pptype.sml+  - `compiler/Elaborator/print/pptype.sml`
527  - +compiler/Elaborator/elaborate/elabcore.sml+  - `compiler/Elaborator/elaborate/elabcore.sml`
528  - +compiler/Elaborator/elaborate/elabmod.sml+  - `compiler/Elaborator/elaborate/elabmod.sml`
529  - +compiler/Elaborator/elaborate/elabtype.sml+  - `compiler/Elaborator/elaborate/elabtype.sml`
530  - +compiler/Elaborator/elaborate/elabsig.sml+  - `compiler/Elaborator/elaborate/elabsig.sml`
531  - +compiler/Semant/pickle/pickmod.sml+  - `compiler/Semant/pickle/pickmod.sml`
532  - +compiler/Semant/pickle/unpickmod.sml+  - `compiler/Semant/pickle/unpickmod.sml`
533  - +compiler/MiscUtil/print/ppobj.sml+  - `compiler/MiscUtil/print/ppobj.sml`
534  - +compiler/FLINT/trans/transtypes.sml+  - `compiler/FLINT/trans/transtypes.sml`
535  - +compiler/FLINT/trans/pequal.sml+  - `compiler/FLINT/trans/pequal.sml`
536  --  --
537  +  +
538  owner:[Dave MacQueen,http://cs.uchicago.edu/~dbm]  owner:cs.uchicago.edu/~dbm[Dave MacQueen]
539    
540  //--------------------------------------------------------------------  //--------------------------------------------------------------------
541  [2016/08/31]::  [2016/08/31]::
542  +  +
543  Added +%tokentype+ directive to *ml-antlr*; this directive allows users  Added `%tokentype` directive to *ml-antlr*; this directive allows users
544  to specify the token datatype externally, which is necessary in order  to specify the token datatype externally, which is necessary in order
545  to share a lexer with two different *ml-antlr* parsers.  to share a lexer with two different *ml-antlr* parsers.
546  +  +
547  owner:[John Reppy,http://cs.uchicago.edu/~jhr]  owner:cs.uchicago.edu/~jhr[John Reppy]
548    
549  //--------------------------------------------------------------------  //--------------------------------------------------------------------
550  [2016/08/20]::  [2016/08/20]::
551  +  +
552  Change the interface to +AMD64Gen+ in *MLRISC*; the +signBit+ and  Change the interface to `AMD64Gen` in *MLRISC*; the `signBit` and
553  ++negateSignBit++ callbacks now return an +MLTree.rexp+ (instead of a  `negateSignBit` callbacks now return an `MLTree.rexp` (instead of a
554  label).  label).
555  +  +
556  owner:[John Reppy,http://cs.uchicago.edu/~jhr]  owner:cs.uchicago.edu/~jhr[John Reppy]
557    
558  //====================================================================  //====================================================================
559  == Version 110.80; 2016/08/19  == Version 110.80; 2016/08/19
# Line 558  Line 561 
561  //--------------------------------------------------------------------  //--------------------------------------------------------------------
562  [2016/08/16]::  [2016/08/16]::
563  +  +
564  Fixed bugref:[151] (Error installing from source on Mac OS X).  The fix  Fixed bugref:151[] (Error installing from source on Mac OS X).  The fix
565  involves both changes to the +config/install.sh+ script and the  involves both changes to the `config/install.sh` script and the
566  +mk.x86-darwin+ makefile.  With this fix, we include the +SDK+ argument  `mk.x86-darwin` makefile.  With this fix, we include the `SDK` argument
567  to the +/usr/bin/as+ only when the OS version is 10.10 (Yosemite) or  to the `/usr/bin/as` only when the OS version is 10.10 (Yosemite) or
568  later.  later.
569  +  +
570  owner:[John Reppy,http://cs.uchicago.edu/~jhr]  owner:cs.uchicago.edu/~jhr[John Reppy]
571    
572  //--------------------------------------------------------------------  //--------------------------------------------------------------------
573  [2016/08/10]::  [2016/08/10]::
574  +  +
575  Added the proposed +unzipMap+, +unzipMapi+, +find+, and +findi+ functions  Added the proposed `unzipMap`, `unzipMapi`, `find`, and `findi` functions
576  to the +ListPair+ module.  to the `ListPair` module.
577  +  +
578  owner:[John Reppy,http://cs.uchicago.edu/~jhr]  owner:cs.uchicago.edu/~jhr[John Reppy]
579    
580  //--------------------------------------------------------------------  //--------------------------------------------------------------------
581  [2016/08/10]::  [2016/08/10]::
582  +  +
583  Added the proposed +mapLeft+, +mapRight+, +appLeft+, and +appRight+  Added the proposed `mapLeft`, `mapRight`, `appLeft`, and `appRight`
584  functions to the +Either+ module.  functions to the `Either` module.
585  +  +
586  owner:[John Reppy,http://cs.uchicago.edu/~jhr]  owner:cs.uchicago.edu/~jhr[John Reppy]
587    
588  //--------------------------------------------------------------------  //--------------------------------------------------------------------
589  [2016/08/09]::  [2016/08/09]::
590  +  +
591  Fixed bug bugref:[145] (Internal exception occurs on bogus annotation  Fixed bug bugref:145[] (Internal exception occurs on bogus annotation
592  instead of typechecking diagnostic). Added missing +OVLD_UB+ case in  instead of typechecking diagnostic). Added missing `OVLD_UB` case in
593  function +failMessage+ in +compiler/Elaborator/types/unify.sml+.  function `failMessage` in `compiler/Elaborator/types/unify.sml`.
594  +  +
595  owner:[Dave MacQueen,http://cs.uchicago.edu/~dbm]  owner:cs.uchicago.edu/~dbm[Dave MacQueen]
596    
597  //--------------------------------------------------------------------  //--------------------------------------------------------------------
598  [2016/08/04]::  [2016/08/04]::
599  +  +
600  Fixed bug bugref:[166] (Can't install SML/NJ in directories containing  Fixed bug bugref:166[] (Can't install SML/NJ in directories containing
601  spaces).  Thanks to Eugene Sharygin for the patch.  spaces).  Thanks to Eugene Sharygin for the patch.
602  +  +
603  owner:[John Reppy,http://cs.uchicago.edu/~jhr]  owner:cs.uchicago.edu/~jhr[John Reppy]
604    
605  //--------------------------------------------------------------------  //--------------------------------------------------------------------
606  [2016/06/21]::  [2016/06/21]::
# Line 605  Line 608 
608  Fixed incorrect dividend sign extension before 32-bit divide in amd64  Fixed incorrect dividend sign extension before 32-bit divide in amd64
609  code generator in MLRISC  code generator in MLRISC
610  +  +
611  owner:[Mike Rainey,http://gallium.inria.fr/~rainey/]  owner:gallium.inria.fr/~rainey/[Mike Rainey]
612    
613  //--------------------------------------------------------------------  //--------------------------------------------------------------------
614  [2016/06/16]::  [2016/06/16]::
615  +  +
616  Fixed bug bugref:[150] (Add title to batch script).  Fixed bug bugref:150[] (Add title to batch script).
617  +  +
618  owner:[John Reppy,http://cs.uchicago.edu/~jhr]  owner:cs.uchicago.edu/~jhr[John Reppy]
619    
620  //--------------------------------------------------------------------  //--------------------------------------------------------------------
621  [2016/05/11]::  [2016/05/11]::
622  +  +
623  Implemented the changes for  Implemented the changes for
624  https://github.com/SMLFamily/BasisLibrary/wiki/2016-001-Add-popCount-to-WORD-signature[  https://github.com/SMLFamily/BasisLibrary/wiki/2016-001-Add-popCount-to-WORD-signature[
625  Basis Library Proposal 2016-001].  This proposal added the +popCount+  Basis Library Proposal 2016-001].  This proposal added the `popCount`
626  function to the +WORD+ signature.  function to the `WORD` signature.
627  +  +
628  owner:[John Reppy,http://cs.uchicago.edu/~jhr]  owner:cs.uchicago.edu/~jhr[John Reppy]
629    
630  //--------------------------------------------------------------------  //--------------------------------------------------------------------
631  [2016/05/03]::  [2016/05/03]::
632  +  +
633  Fixed bug bugref:[156] (sml resumes after SIGSTOP with bogus exception  Fixed bug bugref:156[] (sml resumes after SIGSTOP with bogus exception
634  report).  The fix is a bit of a hack: I modified the +non_bt_hdl+  report).  The fix is a bit of a hack: I modified the `non_bt_hdl`
635  function in +evalloop.sml+ to match an +IO.Io+ exception with  function in `evalloop.sml` to match an `IO.Io` exception with
636  the appropriate shape for this situation.  the appropriate shape for this situation.
637  +  +
638  owner:[John Reppy,http://cs.uchicago.edu/~jhr]  owner:cs.uchicago.edu/~jhr[John Reppy]
639    
640  //--------------------------------------------------------------------  //--------------------------------------------------------------------
641  [2016/04/07]::  [2016/04/07]::
642  +  +
643  Fixed bug bugref:[154] (Return code for ml-ulex when there is an error).  Fixed bug bugref:154[] (Return code for ml-ulex when there is an error).
644  +  +
645  owner:[John Reppy,http://cs.uchicago.edu/~jhr]  owner:cs.uchicago.edu/~jhr[John Reppy]
646    
647  //--------------------------------------------------------------------  //--------------------------------------------------------------------
648  [2016/04/07]::  [2016/04/07]::
649  +  +
650  Fixed bug bugref:[155] (Misleading printing of word literals in  Fixed bug bugref:155[] (Misleading printing of word literals in
651  error messages).  error messages).
652  +  +
653  owner:[John Reppy,http://cs.uchicago.edu/~jhr]  owner:cs.uchicago.edu/~jhr[John Reppy]
654    
655  //--------------------------------------------------------------------  //--------------------------------------------------------------------
656  [2016/04/02]::  [2016/04/02]::
657  +  +
658  Fixed a bug in the implementation of the ++--ml-lex-mode++ flag for  Fixed a bug in the implementation of the `--ml-lex-mode` flag for
659  *ml-ulex*.  The ++\h++ escape sequence is supposed to map to the  *ml-ulex*.  The `\h` escape sequence is supposed to map to the
660  character range ++[\128-\255]++, but did not.  character range `[\128-\255]`, but did not.
661  +  +
662  owner:[John Reppy,http://cs.uchicago.edu/~jhr]  owner:cs.uchicago.edu/~jhr[John Reppy]
663    
664  //--------------------------------------------------------------------  //--------------------------------------------------------------------
665  [2015/11/09]::  [2015/11/09]::
666  +  +
667  Fixed bug bugref:[147] (Hexadecimal escapes in strings are not supported).  Fixed bug bugref:147[] (Hexadecimal escapes in strings are not supported).
668  We previously did not support Unicode escapes in string literals.  We now  We previously did not support Unicode escapes in string literals.  We now
669  do so, [line-through]#with non-ascii codepoints being mapped to the  do so, [line-through]#with non-ascii codepoints being mapped to the
670  UTF-8 encoding# with escape values in the range 0..255 being mapped to the  UTF-8 encoding# with escape values in the range 0..255 being mapped to the
# Line 670  Line 673 
673  +  +
674  _Revised August 4, 2016_  _Revised August 4, 2016_
675  +  +
676  owner:[John Reppy,http://cs.uchicago.edu/~jhr]  owner:cs.uchicago.edu/~jhr[John Reppy]
677    
678  //--------------------------------------------------------------------  //--------------------------------------------------------------------
679  [2015/10/28]::  [2015/10/28]::
680  +  +
681  Partial fix for the noisy exception-stack traces on the +Error+ exception.  Partial fix for the noisy exception-stack traces on the `Error` exception.
682  The cases that are handled by this change are applying +use+ to a non-existent  The cases that are handled by this change are applying `use` to a non-existent
683  file and when there are compilation errors in a program being built by  file and when there are compilation errors in a program being built by
684  +CM.make+.  What remains to be handled is the situation where +CM.make+ is  `CM.make`.  What remains to be handled is the situation where `CM.make` is
685  applied to a non-existent file.  applied to a non-existent file.
686  +  +
687  owner:[John Reppy,http://cs.uchicago.edu/~jhr]  owner:cs.uchicago.edu/~jhr[John Reppy]
688    
689  //====================================================================  //====================================================================
690  == Version 110.79; 2015/10/04  == Version 110.79; 2015/10/04
# Line 689  Line 692 
692  //--------------------------------------------------------------------  //--------------------------------------------------------------------
693  [2015/10/04]::  [2015/10/04]::
694  +  +
695  Patched +base/compiler/FLINT/clos/closure.sml+ so that *Twelf* will  Patched `base/compiler/FLINT/clos/closure.sml` so that *Twelf* will
696  build again.  Fixes bug bugref:[140] (Lookup failure in +closure.sml+  build again.  Fixes bug bugref:140[] (Lookup failure in `closure.sml`
697  when compiling *Twelf*).  when compiling *Twelf*).
698  +  +
699  owner:[John Reppy,http://cs.uchicago.edu/~jhr]  owner:cs.uchicago.edu/~jhr[John Reppy]
700    
701  //--------------------------------------------------------------------  //--------------------------------------------------------------------
702  [2015/09/28]::  [2015/09/28]::
703  +  +
704  Added support for a *Successor ML* tool to CM.  This tool allows one  Added support for a *Successor ML* tool to CM.  This tool allows one
705  to specify that a source file +fool.sml+ is *Successor ML* source code in the  to specify that a source file `fool.sml` is *Successor ML* source code in the
706  following ways:  following ways:
707  +  +
708  --------  --------
# Line 708  Line 711 
711  foo.sml (succ-ml)  foo.sml (succ-ml)
712  --------  --------
713  +  +
714  owner:[John Reppy,http://cs.uchicago.edu/~jhr]  owner:cs.uchicago.edu/~jhr[John Reppy]
715    
716  //--------------------------------------------------------------------  //--------------------------------------------------------------------
717  [2015/09/28]::  [2015/09/28]::
718  +  +
719  Added the directory +base/old-basis+ to support backward-compatible  Added the directory `base/old-basis` to support backward-compatible
720  views of the *Basis Library*.  You can use these by replacing the  views of the *Basis Library*.  You can use these by replacing the
721  line  line
722  +  +
# Line 732  Line 735 
735  //--------------------------------------------------------------------  //--------------------------------------------------------------------
736  [2015/09/28]::  [2015/09/28]::
737  +  +
738  New implementation of +Date+ structure in the Basis, which fixes bugs  New implementation of `Date` structure in the Basis, which fixes bugs
739  bugref:[138] (Incorrect behavior for +Date.fromTimeLocal+) and  bugref:138[] (Incorrect behavior for `Date.fromTimeLocal`) and
740  bugref:[139] (+Date.date+ is broken).  Note that some more thought should  bugref:139[] (`Date.date` is broken).  Note that some more thought should
741  be given to the correct semantics of +Date.date+ when dealing with  be given to the correct semantics of `Date.date` when dealing with
742  offsets.  For example, should an offset of +23 hours produce the same  offsets.  For example, should an offset of +23 hours produce the same
743  date as an offset of -1 hours?  Currently our implementation produces  date as an offset of -1 hours?  Currently our implementation produces
744  different results (by a day) for these two situations.  different results (by a day) for these two situations.
745  +  +
746  owner:[John Reppy,http://cs.uchicago.edu/~jhr]  owner:cs.uchicago.edu/~jhr[John Reppy]
747    
748  //--------------------------------------------------------------------  //--------------------------------------------------------------------
749  [2015/09/25]::  [2015/09/25]::
# Line 783  Line 786 
786  ------------  ------------
787  +  +
788  While it is very unlikely that these changes will break existing code, there are  While it is very unlikely that these changes will break existing code, there are
789  a a couple scenarios in which the code might break.  Namely, when use of +open+  a a couple scenarios in which the code might break.  Namely, when use of `open`
790  introduces conflicts and when user code implements one of the affected Basis Library  introduces conflicts and when user code implements one of the affected Basis Library
791  signatures.  Both of these examples occurred in the *SML/NJ* source code; the former  signatures.  Both of these examples occurred in the *SML/NJ* source code; the former
792  in the *ml-yacc* sources and the latter in the *MLRISC* sources.  in the *ml-yacc* sources and the latter in the *MLRISC* sources.
793  +  +
794  owner:[John Reppy,http://cs.uchicago.edu/~jhr]  owner:cs.uchicago.edu/~jhr[John Reppy]
795    
796  //--------------------------------------------------------------------  //--------------------------------------------------------------------
797  [2015/09/25]::  [2015/09/25]::
798  +  +
799  Added the optional implementations of +PackReal64Big+ and +PackReal64Little+.  Added the optional implementations of `PackReal64Big` and `PackReal64Little`.
800  This addition addresses feature request reqref:[82]  This addition addresses feature request bugref:82[feature]
801  (Implementations of +PACK_REAL+ missing).  The implementation  (Implementations of `PACK_REAL` missing).  The implementation
802  uses the approach suggested by  uses the approach suggested by
803  https://github.com/msullivan/sml-util/blob/master/libs/pack-real.sml[Michael Sullivan].  https://github.com/msullivan/sml-util/blob/master/libs/pack-real.sml[Michael Sullivan].
804  +  +
805  owner:[John Reppy,http://cs.uchicago.edu/~jhr]  owner:cs.uchicago.edu/~jhr[John Reppy]
806    
807  //--------------------------------------------------------------------  //--------------------------------------------------------------------
808  [2015/09/24]::  [2015/09/24]::
809  +  +
810  Fixed bug bugref:[45] (Compiler bug in specialize phase).  This bug  Fixed bug bugref:45[] (Compiler bug in specialize phase).  This bug
811  was in +compiler/FLINT/opt/fcontract.sml+ and was the result of a bad  was in `compiler/FLINT/opt/fcontract.sml` and was the result of a bad
812  interaction between eta contraction and inlining.  As part of the fix,  interaction between eta contraction and inlining.  As part of the fix,
813  I cleaned up the code in this part of FLINT a bit.  I cleaned up the code in this part of FLINT a bit.
814  +  +
815  owner:[John Reppy,http://cs.uchicago.edu/~jhr]  owner:cs.uchicago.edu/~jhr[John Reppy]
816    
817  //--------------------------------------------------------------------  //--------------------------------------------------------------------
818  [2015/09/21]::  [2015/09/21]::
819  Improvements to the error messages produced by the *ml-ulex* lexer generator.  Improvements to the error messages produced by the *ml-ulex* lexer generator.
820  +  +
821  owner:[John Reppy,http://cs.uchicago.edu/~jhr]  owner:cs.uchicago.edu/~jhr[John Reppy]
822    
823  //--------------------------------------------------------------------  //--------------------------------------------------------------------
824  [2015/09/21]::  [2015/09/21]::
825  Added +Ref+ structure and +REF+ signature to Basis implementation  Added `Ref` structure and `REF` signature to Basis implementation
826  (https://github.com/SMLFamily/BasisLibrary/wiki/2015-007-Addition-of-Ref-module[  (https://github.com/SMLFamily/BasisLibrary/wiki/2015-007-Addition-of-Ref-module[
827  Basis Library Proposal 2015-007]).  Basis Library Proposal 2015-007]).
828  +  +
829  owner:[John Reppy,http://cs.uchicago.edu/~jhr]  owner:cs.uchicago.edu/~jhr[John Reppy]
830    
831  //--------------------------------------------------------------------  //--------------------------------------------------------------------
832  [2015/09/21]::  [2015/09/21]::
833  Added +Fn+ structure and +FN+ signature to Basis implementation  Added `Fn` structure and `FN` signature to Basis implementation
834  (https://github.com/SMLFamily/BasisLibrary/wiki/2015-005-Addition-of-Fn-module[  (https://github.com/SMLFamily/BasisLibrary/wiki/2015-005-Addition-of-Fn-module[
835  Basis Library Proposal 2015-005]).  Basis Library Proposal 2015-005]).
836  +  +
837  owner:[John Reppy,http://cs.uchicago.edu/~jhr]  owner:cs.uchicago.edu/~jhr[John Reppy]
838    
839  //--------------------------------------------------------------------  //--------------------------------------------------------------------
840  [2015/08/22]::  [2015/08/22]::
841  +  +
842  Fixed bug bugref:[136] (Incorrect raising of exceptions in +Real.fmt+  Fixed bug bugref:136[] (Incorrect raising of exceptions in `Real.fmt`
843  and +Time.fmt+).  and `Time.fmt`).
844  +  +
845  owner:[John Reppy,http://cs.uchicago.edu/~jhr]  owner:cs.uchicago.edu/~jhr[John Reppy]
846    
847  //--------------------------------------------------------------------  //--------------------------------------------------------------------
848  [2015/08/14]::  [2015/08/14]::
849  +  +
850  Added +Either+ structure and +EITHER+ signature to Basis implementation  Added `Either` structure and `EITHER` signature to Basis implementation
851  (https://github.com/SMLFamily/BasisLibrary/wiki/2015-002-Addition-of-Either-module[  (https://github.com/SMLFamily/BasisLibrary/wiki/2015-002-Addition-of-Either-module[
852  Basis Library Proposal 2015-002]).  Basis Library Proposal 2015-002]).
853  +  +
854  owner:[John Reppy,http://cs.uchicago.edu/~jhr]  owner:cs.uchicago.edu/~jhr[John Reppy]
855    
856  //--------------------------------------------------------------------  //--------------------------------------------------------------------
857  [2015/07/23]::  [2015/07/23]::
858  +  +
859  Fixed bug bugref:[135] (Fails to build on Linux PowerPC).  Fixed bug bugref:135[] (Fails to build on Linux PowerPC).
860  +  +
861  owner:[John Reppy,http://cs.uchicago.edu/~jhr]  owner:cs.uchicago.edu/~jhr[John Reppy]
862    
863  //--------------------------------------------------------------------  //--------------------------------------------------------------------
864  [2015/07/08]::  [2015/07/08]::
865  +  +
866  Added Linux 4.* kernels to the list of operating systems recognized  Added Linux 4.* kernels to the list of operating systems recognized
867  by the ++.arch-n-opsys++ script (fixes bug bugref:[134]).  by the `.arch-n-opsys` script (fixes bug bugref:134[]).
868  +  +
869  owner:[John Reppy,http://cs.uchicago.edu/~jhr]  owner:cs.uchicago.edu/~jhr[John Reppy]
870    
871  //--------------------------------------------------------------------  //--------------------------------------------------------------------
872  [2015/06/11]::  [2015/06/11]::
873  +  +
874  Added Mac OS X 10.11 (El Capitan) to the list of operating systems  Added Mac OS X 10.11 (El Capitan) to the list of operating systems
875  recognized by the ++.arch-n-opsys++ script.  recognized by the `.arch-n-opsys` script.
876  +  +
877  owner:[John Reppy,http://cs.uchicago.edu/~jhr]  owner:cs.uchicago.edu/~jhr[John Reppy]
878    
879  //--------------------------------------------------------------------  //--------------------------------------------------------------------
880  [2015/05/27]::  [2015/05/27]::
881  +  +
882  Added support for *Successor ML* lexical extensions.  These can be enabled  Added support for *Successor ML* lexical extensions.  These can be enabled
883  using the command-line option ++-Cparser.succ-ml=true++ or by the assignment  using the command-line option `-Cparser.succ-ml=true` or by the assignment
884  +  +
885  [source,sml]  [source,sml]
886  ------------  ------------
# Line 887  Line 890 
890  at the REPL.  The extensions are as follows:  at the REPL.  The extensions are as follows:
891  +  +
892  --  --
893    - Underscore ("++_++") as a separator in numeric literals; __e.g.__, ++123_456++,    - Underscore ("`_`") as a separator in numeric literals; __e.g.__, `123_456`,
894      ++0wxff_ff_ff_f3++, ++123_456.1++, ...      `0wxff_ff_ff_f3`, `123_456.1`, ...
895    
896    - end-of-line comments, which are denoted using ++(*)++.  End-of-line comments    - end-of-line comments, which are denoted using `(*)`.  End-of-line comments
897      properly nest into conventional block comments.  For example, the following      properly nest into conventional block comments.  For example, the following
898      block comment is well formed:      block comment is well formed:
899  +  +
# Line 901  Line 904 
904  *)  *)
905  ------------  ------------
906  +  +
907    - binary literals for both integers and words; __e.g.__, ++0b0101_1110++, or    - binary literals for both integers and words; __e.g.__, `0b0101_1110`, or
908      ++0wb1101++.      `0wb1101`.
909  --  --
910  +  +
911  This change is the beginning of a program to add *Successor ML* feature to *SML/NJ*;  This change is the beginning of a program to add *Successor ML* feature to *SML/NJ*;
912  See https://github.com/SMLFamily/Proposed-Definition-of-Successor-ML[] for more  See https://github.com/SMLFamily/Proposed-Definition-of-Successor-ML[] for more
913  details.  details.
914  +  +
915  owner:[John Reppy,http://cs.uchicago.edu/~jhr]  owner:cs.uchicago.edu/~jhr[John Reppy]
916    
917  //====================================================================  //====================================================================
918  == Version 110.78; 2014/12/24  == Version 110.78; 2014/12/24
# Line 919  Line 922 
922  +  +
923  Major revision of the machinery for overloading resolution for both  Major revision of the machinery for overloading resolution for both
924  operators (vars) and literals, now using a common mechanism. This fixes  operators (vars) and literals, now using a common mechanism. This fixes
925  bug bugref:[52] by improving the error message when an overloaded  bug bugref:52[] by improving the error message when an overloaded
926  operator is inconsistent with its context. Updated 23 files, including  operator is inconsistent with its context. Updated 23 files, including
927  major changes in +overload.sml+, +types.sml+, +unify.sml+, +elabcore.sml+,  major changes in `overload.sml`, `types.sml`, `unify.sml`, `elabcore.sml`,
928  +typesutil.sml+. The overload declaration is still used in  `typesutil.sml`. The overload declaration is still used in
929  +pervasives.sml+, where the order of the specified instances of an  `pervasives.sml`, where the order of the specified instances of an
930  ordering determines the default interpretation (_i.e._, the first one).  ordering determines the default interpretation (_i.e._, the first one).
931  +  +
932  The +SCHEME+ and +LITERAL+ forms of tyvars are replaced by a new  The `SCHEME` and `LITERAL` forms of tyvars are replaced by a new
933  +OVLD+ form that tracks potential instantiations of the type of the  `OVLD` form that tracks potential instantiations of the type of the
934  overloaded vars or literals.  overloaded vars or literals.
935  +  +
936  owner:[David MacQueen,http://cs.uchicago.edu/~dbm]  owner:cs.uchicago.edu/~dbm[David MacQueen]
937    
938  //--------------------------------------------------------------------  //--------------------------------------------------------------------
939  [2014/12/18]::  [2014/12/18]::
940  +  +
941  Moved +base/NOTES/HISTORY+ file to +doc/src/changelog/HISTORY.txt+  Moved `base/NOTES/HISTORY` file to `doc/src/changelog/HISTORY.txt`
942  and converted it to http://asciidoc.org[ASCIIDOC] format.  Have also  and converted it to http://asciidoc.org[ASCIIDOC] format.  Have also
943  moved the +README+ files from +base/READMES+ to +doc/src/release-notes+.  moved the `README` files from `base/READMES` to `doc/src/release-notes`.
944  These changes are part of a general effort to rationalize and improve  These changes are part of a general effort to rationalize and improve
945  the documentation of the *SML/NJ* system.  the documentation of the *SML/NJ* system.
946  +  +
947  owner:[John Reppy,http://cs.uchicago.edu/~jhr]  owner:cs.uchicago.edu/~jhr[John Reppy]
948    
949  //--------------------------------------------------------------------  //--------------------------------------------------------------------
950  [2014/12/13]::  [2014/12/13]::
951  +  +
952  Preliminary cleanups before changes to overloading  Preliminary cleanups before changes to overloading
953  +  +
954  Minor cleanup in +Elaborator/elaborate/elabcore+ (function +elabOVERLOADdec+)  Minor cleanup in `Elaborator/elaborate/elabcore` (function `elabOVERLOADdec`)
955  and in +ElabData/types/typesutil.sml+ (function  +matchScheme+). Preparing for  and in `ElabData/types/typesutil.sml` (function  `matchScheme`). Preparing for
956  a new method of handling type checking of overloaded operators. [Note  a new method of handling type checking of overloaded operators. [Note
957  that there is no reason for the options field of +OVLDvar+ to be a  that there is no reason for the options field of `OVLDvar` to be a
958  reference -- it is never updated. Changing this requires corresponding  reference -- it is never updated. Changing this requires corresponding
959  change in pickling.]  change in pickling.]
960  +  +
961  Also added an +etopdebugging+ flag (+ElabControl+) for debugging in  Also added an `etopdebugging` flag (`ElabControl`) for debugging in
962  +elabtop.sml+. Modified ++elabcontrol.++{++sml++,++sig++} and  `elabtop.sml`. Modified `elabcontrol.`{`sml`,`sig`} and
963  +elabtop.sml+. Also rearranged ast and absyn printing in +evalloop.sml+.  `elabtop.sml`. Also rearranged ast and absyn printing in `evalloop.sml`.
964  +  +
965  owner:[David MacQueen,http://cs.uchicago.edu/~dbm]  owner:cs.uchicago.edu/~dbm[David MacQueen]
966    
967  //--------------------------------------------------------------------  //--------------------------------------------------------------------
968  [2014/10/23]::  [2014/10/23]::
# Line 967  Line 970 
970  Improved error messages in *ml-ulex* for unclosed strings.  Also made  Improved error messages in *ml-ulex* for unclosed strings.  Also made
971  documentation improvements.  documentation improvements.
972  +  +
973  owner:[John Reppy,http://cs.uchicago.edu/~jhr]  owner:cs.uchicago.edu/~jhr[John Reppy]
974    
975  //--------------------------------------------------------------------  //--------------------------------------------------------------------
976  [2014/10/11]::  [2014/10/11]::
977  +  +
978  Added +-D_FILE_OFFSET_BITS=64+ flag to +x86-linux+ makefile.  This flag  Added `-D_FILE_OFFSET_BITS=64` flag to `x86-linux` makefile.  This flag
979  is necessary to avoid spurious +EOVERFLOW+ errors on some versions of  is necessary to avoid spurious `EOVERFLOW` errors on some versions of
980  Linux.  The problem appears to be limited to large file systems that  Linux.  The problem appears to be limited to large file systems that
981  have more than 2^32^ inodes.  have more than 2^32^ inodes.
982  +  +
983  owner:[John Reppy,http://cs.uchicago.edu/~jhr]  owner:cs.uchicago.edu/~jhr[John Reppy]
984    
985  //--------------------------------------------------------------------  //--------------------------------------------------------------------
986  [2014/09/13]::  [2014/09/13]::
987  +  +
988  Added +%value+ directive to *ml-antlr*; this addition improves the  Added `%value` directive to *ml-antlr*; this addition improves the
989  error repair choices by allowing non-nullary tokens to be inserted  error repair choices by allowing non-nullary tokens to be inserted
990  when making repairs.  when making repairs.
991  +  +
992  owner:[John Reppy,http://cs.uchicago.edu/~jhr]  owner:cs.uchicago.edu/~jhr[John Reppy]
993    
994  //====================================================================  //====================================================================
995  == Version 110.77; 2014/08/22  == Version 110.77; 2014/08/22
# Line 995  Line 998 
998  //--------------------------------------------------------------------  //--------------------------------------------------------------------
999  [2014/08/21]::  [2014/08/21]::
1000  +  +
1001  Created new +doc+ tree in *SML/NJ* repository.  Currently this  Created new `doc` tree in *SML/NJ* repository.  Currently this
1002  tree just holds the sources for UNIX-style manual pages for  tree just holds the sources for UNIX-style manual pages for
1003  the command-line tools (fixing bug bugref:[35]).  The documentation  the command-line tools (fixing bug bugref:35[]).  The documentation
1004  is written using the http://asciidoc.org[ASCIIDOC] format.  Use  is written using the http://asciidoc.org[ASCIIDOC] format.  Use
1005  the following *svn* command to checkout a copy of the documentation tree:  the following *svn* command to checkout a copy of the documentation tree:
1006  +  +
# Line 1006  Line 1009 
1009  svn co https://smlnj-gforge.cs.uchicago.edu/svn/smlnj/doc/trunk doc  svn co https://smlnj-gforge.cs.uchicago.edu/svn/smlnj/doc/trunk doc
1010  -----------  -----------
1011  +  +
1012  owner:[John Reppy,http://cs.uchicago.edu/~jhr]  owner:cs.uchicago.edu/~jhr[John Reppy]
1013    
1014  //--------------------------------------------------------------------  //--------------------------------------------------------------------
1015  [2014/08/19]::  [2014/08/19]::
1016  +  +
1017  Compiling the runtime system on *cygwin* was failing because the file  Compiling the runtime system on *cygwin* was failing because the file
1018  +exceptions.h+ was missing.  It appears to have been part of previous  `exceptions.h` was missing.  It appears to have been part of previous
1019  versions, so a version has been incorporated verbatim in the  versions, so a version has been incorporated verbatim in the
1020  file +runtime/mach-base/cygwin-fault.c+ file (fixes bug bugref:[125]).  file `runtime/mach-base/cygwin-fault.c` file (fixes bug bugref:125[]).
1021  +  +
1022  owner:[John Reppy,http://cs.uchicago.edu/~jhr]  owner:cs.uchicago.edu/~jhr[John Reppy]
1023    
1024  //--------------------------------------------------------------------  //--------------------------------------------------------------------
1025  [2014/08/19]::  [2014/08/19]::
1026  +  +
1027  Added the +actionToString'+ and +repairToString'+ functions  Added the `actionToString'` and `repairToString'` functions
1028  to the +AntlrRepair+ structure.  These functions allow one to  to the `AntlrRepair` structure.  These functions allow one to
1029  specialize the printing of tokens based on whether they are  specialize the printing of tokens based on whether they are
1030  being added or deleted.  being added or deleted.
1031  +  +
1032  owner:[John Reppy,http://cs.uchicago.edu/~jhr]  owner:cs.uchicago.edu/~jhr[John Reppy]
1033    
1034  //--------------------------------------------------------------------  //--------------------------------------------------------------------
1035  [2014/08/17]::  [2014/08/17]::
1036  +  +
1037  Added patches to support +OpenBSD+ on +PowerPC+.  The patches were  Added patches to support `OpenBSD` on `PowerPC`.  The patches were
1038  contributed by Jasper Lievisse Adriaanse (fixes bug bugref:[124]).  contributed by Jasper Lievisse Adriaanse (fixes bug bugref:124[]).
1039  +  +
1040  owner:[John Reppy,http://cs.uchicago.edu/~jhr]  owner:cs.uchicago.edu/~jhr[John Reppy]
1041    
1042  //--------------------------------------------------------------------  //--------------------------------------------------------------------
1043  [2014/08/17]::  [2014/08/17]::
1044  +  +
1045  Use +mkstemp+ to implement +OS.FileSys.tmpName()+ on systems that support  Use `mkstemp` to implement `OS.FileSys.tmpName()` on systems that support
1046  it (should be all modern versions of *Unix*).  This change fixes bug bugref:[128].  it (should be all modern versions of *Unix*).  This change fixes bug bugref:128[].
1047  (Thanks to Johannes 5 Joemann).  (Thanks to Johannes 5 Joemann).
1048  +  +
1049  owner:[John Reppy,http://cs.uchicago.edu/~jhr]  owner:cs.uchicago.edu/~jhr[John Reppy]
1050    
1051  //--------------------------------------------------------------------  //--------------------------------------------------------------------
1052  [2014/08/17]::  [2014/08/17]::
1053  +  +
1054  Fixed a bug in +IntInf.~>>+, which did not handle negative arguments  Fixed a bug in `IntInf.~>>`, which did not handle negative arguments
1055  correctly (bug bugref:[110]).  correctly (bug bugref:110[]).
1056  +  +
1057  owner:[John Reppy,http://cs.uchicago.edu/~jhr]  owner:cs.uchicago.edu/~jhr[John Reppy]
1058    
1059  //--------------------------------------------------------------------  //--------------------------------------------------------------------
1060  [2014/08/14]::  [2014/08/14]::
1061  +  +
1062  Fixed a problem in the CPS contraction phase.  An optimization that  Fixed a problem in the CPS contraction phase.  An optimization that
1063  eliminates construction of a record that already exists was not  eliminates construction of a record that already exists was not
1064  checking that the existing record was the same record kind (bug bugref:[119]).  checking that the existing record was the same record kind (bug bugref:119[]).
1065  +  +
1066  owner:[John Reppy,http://cs.uchicago.edu/~jhr]  owner:cs.uchicago.edu/~jhr[John Reppy]
1067    
1068  //--------------------------------------------------------------------  //--------------------------------------------------------------------
1069  [2014/07/28]::  [2014/07/28]::
1070  +  +
1071  Switch to using +MAP_ANONYMOUS+ to allocate memory on Linux systems.  Switch to using `MAP_ANONYMOUS` to allocate memory on Linux systems.
1072  This change avoids problems when +"/dev"+ does not support execute  This change avoids problems when `"/dev"` does not support execute
1073  permission (as seems to be the case with some versions of *Linux*  permission (as seems to be the case with some versions of *Linux*
1074  running on ChromeBooks; bug bugref:[120]).  running on ChromeBooks; bug bugref:120[]).
1075  +  +
1076  owner:[John Reppy,http://cs.uchicago.edu/~jhr]  owner:cs.uchicago.edu/~jhr[John Reppy]
1077    
1078  //--------------------------------------------------------------------  //--------------------------------------------------------------------
1079  [2014/06/28]::  [2014/06/28]::
1080  +  +
1081  Fix for bug bugref:[127] (Crash on *Windows* with +OS.Process.system+).  Fix for bug bugref:127[] (Crash on *Windows* with `OS.Process.system`).
1082  +  +
1083  owner:[John Reppy,http://cs.uchicago.edu/~jhr]  owner:cs.uchicago.edu/~jhr[John Reppy]
1084    
1085  //--------------------------------------------------------------------  //--------------------------------------------------------------------
1086  [2014/06/07]::  [2014/06/07]::
1087  +  +
1088  Fixed a long-standing bug in +Socket.recvVec+, which prevented the result  Fixed a long-standing bug in `Socket.recvVec`, which prevented the result
1089  from being used in a string pattern match (thanks to Vesa Norrman  from being used in a string pattern match (thanks to Vesa Norrman
1090  for the fix).  for the fix).
1091  +  +
1092  owner:[John Reppy,http://cs.uchicago.edu/~jhr]  owner:cs.uchicago.edu/~jhr[John Reppy]
1093    
1094  //--------------------------------------------------------------------  //--------------------------------------------------------------------
1095  [2014/05/01]::  [2014/05/01]::
1096  +  +
1097  Fixed minor issue in an error message; type variable name should be  Fixed minor issue in an error message; type variable name should be
1098  printed with leading +'+.  printed with leading `'`.
1099  +  +
1100  owner:[John Reppy,http://cs.uchicago.edu/~jhr]  owner:cs.uchicago.edu/~jhr[John Reppy]
1101    
1102  //--------------------------------------------------------------------  //--------------------------------------------------------------------
1103  [2013/11/25]::  [2013/11/25]::
1104  +  +
1105  Added ++PackWord++{++16++,++32++}{++Big++,++Little++} structures  Added `PackWord`{`16`,`32`}{`Big`,`Little`} structures
1106  to the +Unsafe+ module.  This change makes the +UNSAFE+ signature  to the `Unsafe` module.  This change makes the `UNSAFE` signature
1107  closer to the http://mlton.org[*MLton*] version, although we  closer to the http://mlton.org[*MLton*] version, although we
1108  still need to add the +PackReal+ structures.  still need to add the `PackReal` structures.
1109  +  +
1110  owner:[John Reppy,http://cs.uchicago.edu/~jhr]  owner:cs.uchicago.edu/~jhr[John Reppy]
1111    
1112  //====================================================================  //====================================================================
1113  == Version 110.76; 2013/07/01  == Version 110.76; 2013/07/01
# Line 1113  Line 1116 
1116  //--------------------------------------------------------------------  //--------------------------------------------------------------------
1117  [2013/06/04]::  [2013/06/04]::
1118  +  +
1119  Fix bug bugref:[115] (+BinPrimIO+ writer method +getPos+ does not  Fix bug bugref:115[] (`BinPrimIO` writer method `getPos` does not
1120  work under CML). Just needed to port the position update from +mkReader+  work under CML). Just needed to port the position update from `mkReader`
1121  code to the +mkWriter+ code.  code to the `mkWriter` code.
1122  +  +
1123  owner:[Lars Bergstrom]  owner:www.lars.com[Lars Bergstrom]
1124    
1125  //--------------------------------------------------------------------  //--------------------------------------------------------------------
1126  [2013/06/04]::  [2013/06/04]::
1127  +  +
1128  Fix bug bugref:[111] (+Socket.acceptNB+ returns somewhat broken sockets).  Fix bug bugref:111[] (`Socket.acceptNB` returns somewhat broken sockets).
1129  The problem was that under Win32, sockets returned from +accept+ inherit  The problem was that under Win32, sockets returned from `accept` inherit
1130  their parents' non-blocking status, whereas on *UNIX* they are always  their parents' non-blocking status, whereas on *UNIX* they are always
1131  blocking.  blocking.
1132  +  +
1133  owner:[Lars Bergstrom]  owner:www.lars.com[Lars Bergstrom]
1134    
1135  //--------------------------------------------------------------------  //--------------------------------------------------------------------
1136  [2013/05/20]::  [2013/05/20]::
1137  +  +
1138  Fix bug bugref:[117] (+BinIO.openAppend+ raises +IO+ on non-existent file).  Fix bug bugref:117[] (`BinIO.openAppend` raises `IO` on non-existent file).
1139  We were opening the file for append if it existed but not creating it  We were opening the file for append if it existed but not creating it
1140  if it did not exist.  if it did not exist.
1141  +  +
1142  owner:[Lars Bergstrom]  owner:www.lars.com[Lars Bergstrom]
1143    
1144  //--------------------------------------------------------------------  //--------------------------------------------------------------------
1145  [2013/05/02]::  [2013/05/02]::
1146  +  +
1147  Fix bug bugref:[116] (+Socket.sameDesc+ raises +Match+ exception).  Fix bug bugref:116[] (`Socket.sameDesc` raises `Match` exception).
1148  The problem is that on Windows the +iodesc+ datatype (defined in  The problem is that on Windows the `iodesc` datatype (defined in
1149  +Basis/Implementation/Win32/pre-os.sml+) has both an +IODesc+ constructor  `Basis/Implementation/Win32/pre-os.sml`) has both an `IODesc` constructor
1150  and a +SockDesc+ constructor.  Updated the code in +Win32/os-io.sml+ to  and a `SockDesc` constructor.  Updated the code in `Win32/os-io.sml` to
1151  handle the +SockDesc+ constructor.  handle the `SockDesc` constructor.
1152  +  +
1153  owner:[John Reppy,http://cs.uchicago.edu/~jhr]  owner:cs.uchicago.edu/~jhr[John Reppy]
1154    
1155  //--------------------------------------------------------------------  //--------------------------------------------------------------------
1156  [2013/04/19]::  [2013/04/19]::
1157  +  +
1158  Fix bug bugref:[113] (Socket.select waits exactly twice the indicated timeout)  Fix bug bugref:113[] (Socket.select waits exactly twice the indicated timeout)
1159  +  +
1160  owner:[John Reppy,http://cs.uchicago.edu/~jhr]  owner:cs.uchicago.edu/~jhr[John Reppy]
1161    
1162  //--------------------------------------------------------------------  //--------------------------------------------------------------------
1163  [2013/01/19]::  [2013/01/19]::
1164  +  +
1165  Fix AMD64 code generator to properly sign-extend arguments to +IDIVQ+.  Fix AMD64 code generator to properly sign-extend arguments to `IDIVQ`.
1166  +  +
1167  owner:[Lars Bergstrom]  owner:www.lars.com[Lars Bergstrom]
1168    
1169  //--------------------------------------------------------------------  //--------------------------------------------------------------------
1170  [2012/10/20]::  [2012/10/20]::
1171  +  +
1172  Fix bug bugref:[108] (off-by-one error in +Util/dynamic-array.sml+;  Fix bug bugref:108[] (off-by-one error in `Util/dynamic-array.sml`;
1173  iterators crash)  iterators crash)
1174  +  +
1175  owner:[John Reppy,http://cs.uchicago.edu/~jhr]  owner:cs.uchicago.edu/~jhr[John Reppy]
1176    
1177  //--------------------------------------------------------------------  //--------------------------------------------------------------------
1178  [2012/10/20]::  [2012/10/20]::
1179  +  +
1180  Fix bug bugref:[107] (Bogus +Int64+ comparison operators)  Fix bug bugref:107[] (Bogus `Int64` comparison operators)
1181  +  +
1182  owner:[John Reppy,http://cs.uchicago.edu/~jhr]  owner:cs.uchicago.edu/~jhr[John Reppy]
1183    
1184  //====================================================================  //====================================================================
1185  == Version 110.75; 2012/10/01  == Version 110.75; 2012/10/01
# Line 1185  Line 1188 
1188  //--------------------------------------------------------------------  //--------------------------------------------------------------------
1189  [2012/09/28]::  [2012/09/28]::
1190  +  +
1191  Fixed bug bugref:[92].  +IntInf.scan+ now handles the "++0x++" prefix  Fixed bug bugref:92[].  `IntInf.scan` now handles the "`0x`" prefix
1192  correctly.  Also made minor improvements to the +NumScan+ module.  correctly.  Also made minor improvements to the `NumScan` module.
1193  +  +
1194  owner:[John Reppy,http://cs.uchicago.edu/~jhr]  owner:cs.uchicago.edu/~jhr[John Reppy]
1195    
1196  //--------------------------------------------------------------------  //--------------------------------------------------------------------
1197  [2012/09/24]::  [2012/09/24]::
1198  +  +
1199  Added +Base64+ module to *SML/NJ Library* to support encoding and decoding  Added `Base64` module to *SML/NJ Library* to support encoding and decoding
1200  +Word8+ vectors as *base64* strings.  `Word8` vectors as *base64* strings.
1201  +  +
1202  owner:[John Reppy,http://cs.uchicago.edu/~jhr]  owner:cs.uchicago.edu/~jhr[John Reppy]
1203    
1204  //--------------------------------------------------------------------  //--------------------------------------------------------------------
1205  [2012/09/23]::  [2012/09/23]::
1206  +  +
1207  Additions to the *SML/NJ Library*.  Added +exists+, +existsi+, +all+,  Additions to the *SML/NJ Library*.  Added `exists`, `existsi`, `all`,
1208  and +alli+ functions to +ORD_MAP+ signature and implementations,  and `alli` functions to `ORD_MAP` signature and implementations,
1209  and added +all+ function to +ORD_SET+ signature and implementations.  and added `all` function to `ORD_SET` signature and implementations.
1210  +  +
1211  owner:[John Reppy,http://cs.uchicago.edu/~jhr]  owner:cs.uchicago.edu/~jhr[John Reppy]
1212    
1213  //--------------------------------------------------------------------  //--------------------------------------------------------------------
1214  [2012/09/21]::  [2012/09/21]::
1215  +  +
1216  Bug fix in *ml-antlr* to ensure that the generated +toString+ function  Bug fix in *ml-antlr* to ensure that the generated `toString` function
1217  for tokens is strictly legal *SML* code (_i.e._, non-printing characters  for tokens is strictly legal *SML* code (_i.e._, non-printing characters
1218  and *UTF8* multibyte sequences are properly escaped).  and *UTF8* multibyte sequences are properly escaped).
1219  +  +
1220  owner:[John Reppy,http://cs.uchicago.edu/~jhr]  owner:cs.uchicago.edu/~jhr[John Reppy]
1221    
1222  //--------------------------------------------------------------------  //--------------------------------------------------------------------
1223  [2012/09/11]::  [2012/09/11]::
1224  +  +
1225  Added +getu+ function to +ULexBuffer+ as a way to improve *ml-ulex*  Added `getu` function to `ULexBuffer` as a way to improve *ml-ulex*
1226  performance. This addition allows a fastpath for processing ASCII  performance. This addition allows a fastpath for processing ASCII
1227  characters, which improved lexer performance by 3-4%.  characters, which improved lexer performance by 3-4%.
1228  +  +
1229  owner:[John Reppy,http://cs.uchicago.edu/~jhr]  owner:cs.uchicago.edu/~jhr[John Reppy]
1230    
1231  //--------------------------------------------------------------------  //--------------------------------------------------------------------
1232  [2012/08/02]::  [2012/08/02]::
1233  +  +
1234  Fixed bugs bugref:[89] and bugref:[96]: Build Failure with *Xcode 4.3*  Fixed bugs bugref:89[] and bugref:96[]: Build Failure with *Xcode 4.3*
1235  Also removed build support for *MacOS X* pre-10.5 (Leopard) on *PPC* and  Also removed build support for *MacOS X* pre-10.5 (Leopard) on *PPC* and
1236  pre-10.6 (Snow Leopard) on Intel.  pre-10.6 (Snow Leopard) on Intel.
1237  +  +
1238  owner:[John Reppy,http://cs.uchicago.edu/~jhr]  owner:cs.uchicago.edu/~jhr[John Reppy]
1239    
1240  //--------------------------------------------------------------------  //--------------------------------------------------------------------
1241  [2012/02/05]::  [2012/02/05]::
1242  +  +
1243  Fixed bug bugref:[88].  The check for valid arcs on *Unix* systems now allows  Fixed bug bugref:88[].  The check for valid arcs on *Unix* systems now allows
1244  any character other than slash or nul.  any character other than slash or nul.
1245  +  +
1246  owner:[John Reppy,http://cs.uchicago.edu/~jhr]  owner:cs.uchicago.edu/~jhr[John Reppy]
1247    
1248  //====================================================================  //====================================================================
1249  == Version 110.74; 2012/01/20  == Version 110.74; 2012/01/20
# Line 1249  Line 1252 
1252  //--------------------------------------------------------------------  //--------------------------------------------------------------------
1253  [2012/01/20]::  [2012/01/20]::
1254  +  +
1255  Fixed implementation of +Real.signBit+ on little-endian machines.  Fixed implementation of `Real.signBit` on little-endian machines.
1256  +  +
1257  owner:[John Reppy,http://cs.uchicago.edu/~jhr]  owner:cs.uchicago.edu/~jhr[John Reppy]
1258    
1259  //--------------------------------------------------------------------  //--------------------------------------------------------------------
1260  [2012/01/19]::  [2012/01/19]::
1261  +  +
1262  1) Fix for bug bugref:[60]  1) Fix for bug bugref:60[]
1263     recalculate strictness for ++DEFtyc++s in functor bodies when functor     recalculate strictness for `DEFtyc`s in functor bodies when functor
1264     is applied  (+Elaborator/modules/evalent.sml+)     is applied  (`Elaborator/modules/evalent.sml`)
1265  +  +
1266  2) Fix for bug bugref:[77]  2) Fix for bug bugref:77[]
1267     separate ast representations for datatypes and datatype replications     separate ast representations for datatypes and datatype replications
1268     in decs and specs (multiple files)     in decs and specs (multiple files)
1269  +  +
1270  3) set version to 110.74  3) set version to 110.74
1271  +  +
1272  Details in +NOTES/changes/dbm_2012_1+.  Details in `NOTES/changes/dbm_2012_1`.
1273  +  +
1274  owner:[David MacQueen]  owner:cs.uchicago.edu/~dbm[Dave MacQueen]
1275    
1276  //--------------------------------------------------------------------  //--------------------------------------------------------------------
1277  [2012/01/12]::  [2012/01/12]::
1278  +  +
1279  1. Change of +SourceMap+ interface.  1. Change of `SourceMap` interface.
1280     related to fix of off-by-one error in lexer (committed earlier?),     related to fix of off-by-one error in lexer (committed earlier?),
1281     and cleanup of *noweb* code added by Norman Ramsey many years     and cleanup of *noweb* code added by Norman Ramsey many years
1282     ago (but little used today).     ago (but little used today).
1283  +  +
1284  2. Slight cleanup of match compiler, eliminating +compiler/FLINT/tempexpn.sml+  2. Slight cleanup of match compiler, eliminating `compiler/FLINT/tempexpn.sml`
1285     file that  was part of unused implementation of pattern templates (pattern macros).     file that  was part of unused implementation of pattern templates (pattern macros).
1286  +  +
1287  3. Modification of type checker to add "culprit tracking" for  3. Modification of type checker to add "culprit tracking" for
1288     improved type error messages (printing of additional culprit     improved type error messages (printing of additional culprit
1289     information is controlled by +ElabControl.showTypeErrorCulprits+     information is controlled by `ElabControl.showTypeErrorCulprits`
1290     flag, default false, added in revision 3652).  The culprit tracking needs to be debugged     flag, default false, added in revision 3652).  The culprit tracking needs to be debugged
1291     and improved, and the presentation of the culprits needs to be done better.     and improved, and the presentation of the culprits needs to be done better.
1292  +  +
1293  Details in +NOTES/changes/dbm_2012_1+.  Details in `NOTES/changes/dbm_2012_1`.
1294  +  +
1295  owner:[David MacQueen]  owner:cs.uchicago.edu/~dbm[Dave MacQueen]
1296    
1297  //--------------------------------------------------------------------  //--------------------------------------------------------------------
1298  [2011/11/25]::  [2011/11/25]::
1299  +  +
1300  Bug fixes for +Unsafe.blastRead+ (bug bugref:[76]):  Bug fixes for `Unsafe.blastRead` (bug bugref:76[]):
1301    . proper error handling when reading from memory and there are    . proper error handling when reading from memory and there are
1302      not enough bytes.      not enough bytes.
1303    . pass correct data pointer and length to BlastIn (code was using    . pass correct data pointer and length to BlastIn (code was using
1304      old macros).      old macros).
1305  +  +
1306  owner:[John Reppy,http://cs.uchicago.edu/~jhr]  owner:cs.uchicago.edu/~jhr[John Reppy]
1307    
1308  //--------------------------------------------------------------------  //--------------------------------------------------------------------
1309  [2011/11/25]::  [2011/11/25]::
1310  +  +
1311  Added hash-table-based implementation of sets to SML/NJ Library.  Added hash-table-based implementation of sets to SML/NJ Library.
1312  +  +
1313  owner:[John Reppy,http://cs.uchicago.edu/~jhr]  owner:cs.uchicago.edu/~jhr[John Reppy]
1314    
1315  //--------------------------------------------------------------------  //--------------------------------------------------------------------
1316  [2011/10/25]::  [2011/10/25]::
1317  +  +
1318  Better error reporting under 32-bit linux for the missing dpkg  Better error reporting under 32-bit linux for the missing dpkg
1319  support (bug bugref:[70]).  support (bug bugref:70[]).
1320  Enable 3.x kernels to build (bugs bugref:[80], bugref:[81], bugref:[83]).  Enable 3.x kernels to build (bugs bugref:80[], bugref:81[], bugref:83[]).
1321  +  +
1322  owner:[Lars Bergstrom]  owner:www.lars.com[Lars Bergstrom]
1323    
1324  //--------------------------------------------------------------------  //--------------------------------------------------------------------
1325  [2011/05/23]::  [2011/05/23]::
# Line 1324  Line 1327 
1327  Added new S-expression library to SML/NJ Library  Added new S-expression library to SML/NJ Library
1328  (contributed by Damon Wang)  (contributed by Damon Wang)
1329  +  +
1330  owner:[John Reppy,http://cs.uchicago.edu/~jhr]  owner:cs.uchicago.edu/~jhr[John Reppy]
1331    
1332  //--------------------------------------------------------------------  //--------------------------------------------------------------------
1333  [2011/05/17]::  [2011/05/17]::
# Line 1332  Line 1335 
1335  Fixed bug in JSON scanner (SML/NJ Library).  It didn't handle escaped  Fixed bug in JSON scanner (SML/NJ Library).  It didn't handle escaped
1336  backslash or double quote correctly.  backslash or double quote correctly.
1337  +  +
1338  owner:[John Reppy,http://cs.uchicago.edu/~jhr]  owner:cs.uchicago.edu/~jhr[John Reppy]
1339    
1340  //====================================================================  //====================================================================
1341  == Version 110.73; 2011/05/13  == Version 110.73; 2011/05/13
# Line 1353  Line 1356 
1356  in a CM file.  This change is meant to make it easier to use *autoconf*  in a CM file.  This change is meant to make it easier to use *autoconf*
1357  to configure the build process of an SML application.  to configure the build process of an SML application.
1358  +  +
1359  owner:[John Reppy,http://cs.uchicago.edu/~jhr]  owner:cs.uchicago.edu/~jhr[John Reppy]
1360    
1361  //--------------------------------------------------------------------  //--------------------------------------------------------------------
1362  [2011/05/09]::  [2011/05/09]::
1363  +  +
1364  Added missing +String.scan+ function (bug bugref:[69]).  This also  Added missing `String.scan` function (bug bugref:69[]).  This also
1365  fixes the handling of certain corner cases by +String.fromString+.  fixes the handling of certain corner cases by `String.fromString`.
1366  +  +
1367  owner:[John Reppy,http://cs.uchicago.edu/~jhr]  owner:cs.uchicago.edu/~jhr[John Reppy]
1368    
1369  //--------------------------------------------------------------------  //--------------------------------------------------------------------
1370  [2011/05/03]::  [2011/05/03]::
1371  +  +
1372  Added the +RTDSC+ and +RTDSCP+ instructions to the amd64 code generator.  Added the `RTDSC` and `RTDSCP` instructions to the amd64 code generator.
1373  +  +
1374  owner:[Mike Rainey,http://www.mpi-sws.org/~mrainey]  owner:www.mpi-sws.org/~mrainey[Mike Rainey]
1375    
1376  //--------------------------------------------------------------------  //--------------------------------------------------------------------
1377  [2011/04/08]::  [2011/04/08]::
1378  +  +
1379  Added fix for comments in code bug (bug bugref:[63]).  Added fix for comments in code bug (bug bugref:63[]).
1380  Thanks to Michael Norrish.  Thanks to Michael Norrish.
1381  +  +
1382  owner:[John Reppy,http://cs.uchicago.edu/~jhr]  owner:cs.uchicago.edu/~jhr[John Reppy]
1383    
1384  //--------------------------------------------------------------------  //--------------------------------------------------------------------
1385  [2011/04/08]::  [2011/04/08]::
1386  +  +
1387  Fixed bug in +Socket.acceptNB+ (bug bugref:[59])  Fixed bug in `Socket.acceptNB` (bug bugref:59[])
1388  +  +
1389  owner:[John Reppy,http://cs.uchicago.edu/~jhr]  owner:cs.uchicago.edu/~jhr[John Reppy]
1390    
1391  //--------------------------------------------------------------------  //--------------------------------------------------------------------
1392  [2011/03/31]::  [2011/03/31]::
1393  +  +
1394  Fixed syntax error in *ml-lex* compatibility mode (bug bugref:[49])  Fixed syntax error in *ml-lex* compatibility mode (bug bugref:49[])
1395  +  +
1396  owner:[John Reppy,http://cs.uchicago.edu/~jhr]  owner:cs.uchicago.edu/~jhr[John Reppy]
1397    
1398  //--------------------------------------------------------------------  //--------------------------------------------------------------------
1399  [2011/03/22]::  [2011/03/22]::
1400  +  +
1401  Update +_arch-n-opsys+ script for Mac OS X Lion (10.7).  Update `_arch-n-opsys` script for Mac OS X Lion (10.7).
1402  +  +
1403  owner:[John Reppy,http://cs.uchicago.edu/~jhr]  owner:cs.uchicago.edu/~jhr[John Reppy]
1404    
1405  //--------------------------------------------------------------------  //--------------------------------------------------------------------
1406  [2011/02/18]::  [2011/02/18]::
1407  +  +
1408  Added +Barriers+ module to CML.  Added `Barriers` module to CML.
1409  +  +
1410  owner:[John Reppy,http://cs.uchicago.edu/~jhr]  owner:cs.uchicago.edu/~jhr[John Reppy]
1411    
1412  //--------------------------------------------------------------------  //--------------------------------------------------------------------
1413  [2011/02/10]::  [2011/02/10]::
1414  +  +
1415  Fixed *ml-yacc* examples to respect the changed signatures with respect  Fixed *ml-yacc* examples to respect the changed signatures with respect
1416  to +TextIO.inputLine+.  to `TextIO.inputLine`.
1417  +  +
1418  owner:[Lars Bergstrom]  owner:www.lars.com[Lars Bergstrom]
1419    
1420  //--------------------------------------------------------------------  //--------------------------------------------------------------------
1421  [2010/09/16]::  [2010/09/16]::
1422  +  +
1423  Changed the *Win32* implementation of +validArc+ to support directories  Changed the *Win32* implementation of `validArc` to support directories
1424  with extended characters (umlauts, etc.).  with extended characters (umlauts, etc.).
1425  +  +
1426  owner:[Lars Bergstrom]  owner:www.lars.com[Lars Bergstrom]
1427    
1428  //--------------------------------------------------------------------  //--------------------------------------------------------------------
1429  [2010/09/16]::  [2010/09/16]::
1430  +  +
1431  Fixed the *Win32* socket and polling implementation to work correctly  Fixed the *Win32* socket and polling implementation to work correctly
1432  with CML. Signature of +poll+ was wrong and didn't handle sockets at all.  with CML. Signature of `poll` was wrong and didn't handle sockets at all.
1433  +  +
1434  owner:[Lars Bergstrom]  owner:www.lars.com[Lars Bergstrom]
1435    
1436  //--------------------------------------------------------------------  //--------------------------------------------------------------------
1437  [2010/06/16]::  [2010/06/16]::
1438  +  +
1439  Fixed +Real.toString+ and +Real.fmt+ to include sign for negative zero.  Fixed `Real.toString` and `Real.fmt` to include sign for negative zero.
1440  +  +
1441  owner:[John Reppy,http://cs.uchicago.edu/~jhr]  owner:cs.uchicago.edu/~jhr[John Reppy]
1442    
1443  //--------------------------------------------------------------------  //--------------------------------------------------------------------
1444  [2010/03/23]::  [2010/03/23]::
1445  +  +
1446  Fixed the bug with *Win32* calls to +OS.Process.system+ not quoting  Fixed the bug with *Win32* calls to `OS.Process.system` not quoting
1447  the string.  the string.
1448  +  +
1449  owner:[Lars Bergstrom]  owner:www.lars.com[Lars Bergstrom]
1450    
1451  //--------------------------------------------------------------------  //--------------------------------------------------------------------
1452  [2010/02/11]::  [2010/02/11]::
1453  +  +
1454  Applied patch for building on more recent versions of *NetBSD*  Applied patch for building on more recent versions of *NetBSD*
1455  (bug bugref:[39]).  (bug bugref:39[]).
1456  +  +
1457  owner:[Jon Riehl,http://jonriehl.com/]  owner:jonriehl.com/[Jon Riehl]
1458    
1459  //====================================================================  //====================================================================
1460  == Version 110.72; 2010/02/02  == Version 110.72; 2010/02/02
# Line 1460  Line 1463 
1463  //--------------------------------------------------------------------  //--------------------------------------------------------------------
1464  [2009/12/20]::  [2009/12/20]::
1465  +  +
1466  Fixed performance bugs in +List+ module by making +@+ and +foldr+ be  Fixed performance bugs in `List` module by making `@` and `foldr` be
1467  tail recursive (bug bugref:[51]).  tail recursive (bug bugref:51[]).
1468  +  +
1469  owner:[John Reppy,http://cs.uchicago.edu/~jhr]  owner:cs.uchicago.edu/~jhr[John Reppy]
1470    
1471  //--------------------------------------------------------------------  //--------------------------------------------------------------------
1472  [2009/12/11]::  [2009/12/11]::
1473  +  +
1474  Fixed the *Win32* unable to print long strings bug (bug bugref:[37]).  Fixed the *Win32* unable to print long strings bug (bug bugref:37[]).
1475  +  +
1476  owner:[Lars Bergstrom]  owner:www.lars.com[Lars Bergstrom]
1477    
1478  //--------------------------------------------------------------------  //--------------------------------------------------------------------
1479  [2009/12/10]::  [2009/12/10]::
# Line 1479  Line 1482 
1482  full, it was possible for alignment padding added during copy to  full, it was possible for alignment padding added during copy to
1483  the to-space to overrun the allocated size.  the to-space to overrun the allocated size.
1484  +  +
1485  owner:[Lars Bergstrom]  owner:www.lars.com[Lars Bergstrom]
1486    
1487  //--------------------------------------------------------------------  //--------------------------------------------------------------------
1488  [2009/11/18]::  [2009/11/18]::
# Line 1487  Line 1490 
1490  The *ml-antlr* and *ml-ulex* programs have been ported to build under  The *ml-antlr* and *ml-ulex* programs have been ported to build under
1491  mlton.  mlton.
1492  +  +
1493  owner:[John Reppy,http://cs.uchicago.edu/~jhr]  owner:cs.uchicago.edu/~jhr[John Reppy]
1494    
1495  //--------------------------------------------------------------------  //--------------------------------------------------------------------
1496  [2009/11/17]::  [2009/11/17]::
1497  +  +
1498  Added +%header+ directive to the *ml-ulex* scanner generator.  Also  Added `%header` directive to the *ml-ulex* scanner generator.  Also
1499  updated the documentation.  updated the documentation.
1500  +  +
1501  owner:[John Reppy,http://cs.uchicago.edu/~jhr]  owner:cs.uchicago.edu/~jhr[John Reppy]
1502    
1503  //--------------------------------------------------------------------  //--------------------------------------------------------------------
1504  [2009/11/17]::  [2009/11/17]::
1505  +  +
1506  Added +@SMLsuffix+ flag to *sml* command.  This flag can be used to get  Added `@SMLsuffix` flag to *sml* command.  This flag can be used to get
1507  the suffix for heap files.  the suffix for heap files.
1508  +  +
1509  owner:[John Reppy,http://cs.uchicago.edu/~jhr]  owner:cs.uchicago.edu/~jhr[John Reppy]
1510    
1511  //--------------------------------------------------------------------  //--------------------------------------------------------------------
1512  [2009/11/17]::  [2009/11/17]::
1513  +  +
1514  Added +--strict-sml+ flag to *ml-ulex* for *MLton* compatibility.  Added `--strict-sml` flag to *ml-ulex* for *MLton* compatibility.
1515  +  +
1516  owner:[John Reppy,http://cs.uchicago.edu/~jhr]  owner:cs.uchicago.edu/~jhr[John Reppy]
1517    
1518  //--------------------------------------------------------------------  //--------------------------------------------------------------------
1519  [2009/11/10]::  [2009/11/10]::
1520  +  +
1521  Added +%header+ directive to the *ml-antlr* parser generator.  Also  Added `%header` directive to the *ml-antlr* parser generator.  Also
1522  updated the documentation.  updated the documentation.
1523  +  +
1524  owner:[John Reppy,http://cs.uchicago.edu/~jhr]  owner:cs.uchicago.edu/~jhr[John Reppy]
1525    
1526  //====================================================================  //====================================================================
1527  == Version 110.71; 2009/09/16  == Version 110.71; 2009/09/16
# Line 1530  Line 1533 
1533  Changes to support compiling the runtime system on Mac OS X 10.6  Changes to support compiling the runtime system on Mac OS X 10.6
1534  (aka Snow Leopard).  (aka Snow Leopard).
1535  +  +
1536  owner:[John Reppy,http://cs.uchicago.edu/~jhr]  owner:cs.uchicago.edu/~jhr[John Reppy]
1537    
1538  //--------------------------------------------------------------------  //--------------------------------------------------------------------
1539  [2009/08/19]::  [2009/08/19]::
1540  +  +
1541  Fixed a bug in the register-spill generator that is part of the MLRISC  Fixed a bug in the register-spill generator that is part of the MLRISC
1542  register allocator. The problem was that the code in +RASpillWithRenaming+  register allocator. The problem was that the code in `RASpillWithRenaming`
1543  functor assumed incorrectly that dedicated registers would appear in  functor assumed incorrectly that dedicated registers would appear in
1544  def/use information generated by +ClusterRA+. Thanks to Allen Leung for  def/use information generated by `ClusterRA`. Thanks to Allen Leung for
1545  helping with this bug.  helping with this bug.
1546  +  +
1547  owner:[Mike Rainey,http://cs.uchicago.edu/~mrainey]  owner:cs.uchicago.edu/~mrainey[Mike Rainey]
1548    
1549  //--------------------------------------------------------------------  //--------------------------------------------------------------------
1550  [2009/07/09]::  [2009/07/09]::
1551  +  +
1552  Removed redundant implementations of various top-level operations by  Removed redundant implementations of various top-level operations by
1553  consolidating them in +base/system/smlnj/init/pervasive.sml+.  This  consolidating them in `base/system/smlnj/init/pervasive.sml`.  This
1554  change also fixes a bug in that the top-level version of +round+ was  change also fixes a bug in that the top-level version of `round` was
1555  incorrect.  incorrect.
1556  +  +
1557  owner:[John Reppy,http://cs.uchicago.edu/~jhr]  owner:cs.uchicago.edu/~jhr[John Reppy]
1558    
1559  //====================================================================  //====================================================================
1560  == Version 110.70; 2009/06/15  == Version 110.70; 2009/06/15
# Line 1567  Line 1570 
1570  2. Provided fix for the 64-bit pattern match bug.  2. Provided fix for the 64-bit pattern match bug.
1571  --  --
1572  +  +
1573  owner:[Matthias Blume,http://www.tti-c.org/blume/]  owner:www.tti-c.org/blume/[Matthias Blume]
1574    
1575  //--------------------------------------------------------------------  //--------------------------------------------------------------------
1576  [2009/03/21]::  [2009/03/21]::
1577  +  +
1578  Fixed bug in +Int32.fmt+ when the argument was the minimum int and the  Fixed bug in `Int32.fmt` when the argument was the minimum int and the
1579  radix was something other than +DEC+.  radix was something other than `DEC`.
1580  +  +
1581  owner:[John Reppy,http://cs.uchicago.edu/~jhr]  owner:cs.uchicago.edu/~jhr[John Reppy]
1582    
1583  //--------------------------------------------------------------------  //--------------------------------------------------------------------
1584  [2009/02/21]::  [2009/02/21]::
1585  +  +
1586  Fixed bugs in how *ml-antlr* parsed ML types in +%tokens+ specifications.  Fixed bugs in how *ml-antlr* parsed ML types in `%tokens` specifications.
1587  +  +
1588  owner:[Aaron Turon]  owner:smlnj.org[Aaron Turon]
1589    
1590  //--------------------------------------------------------------------  //--------------------------------------------------------------------
1591  [2009/01/13]::  [2009/01/13]::
# Line 1590  Line 1593 
1593  Picking up some additional fixes for 110.69, including a fix for  Picking up some additional fixes for 110.69, including a fix for
1594  spaces in CM file paths.  spaces in CM file paths.
1595  +  +
1596  owner:[Jon Riehl,http://www.jonriehl.com/]  owner:www.jonriehl.com/[Jon Riehl]
1597    
1598  //====================================================================  //====================================================================
1599  == Version 110.69; 2008/12/22  == Version 110.69; 2008/12/22
# Line 1600  Line 1603 
1603  [2008/12/06]::  [2008/12/06]::
1604  +  +
1605  Re-enabled some CPS optimizations (first_contract and eta).  The most  Re-enabled some CPS optimizations (first_contract and eta).  The most
1606  important effect of this change is to make uses of +SMLofNJ.Cont.capture+  important effect of this change is to make uses of `SMLofNJ.Cont.capture`
1607  be properly tail recursive.  be properly tail recursive.
1608  +  +
1609  owner:[John Reppy,http://www.cs.uchicago.edu/~jhr]  owner:www.cs.uchicago.edu/~jhr[John Reppy]
1610    
1611  //--------------------------------------------------------------------  //--------------------------------------------------------------------
1612  [2008/12/03]::  [2008/12/03]::
# Line 1611  Line 1614 
1614  New concurrency-related instructions for x86 and amd64 code  New concurrency-related instructions for x86 and amd64 code
1615  generators.  generators.
1616  --  --
1617    - +PAUSE+: Notify the CPU that the program is spin waiting.    - `PAUSE`: Notify the CPU that the program is spin waiting.
1618    - +MFENCE+: memory fence for reads and writes.    - `MFENCE`: memory fence for reads and writes.
1619    - +SFENCE+: memory fence for writes.    - `SFENCE`: memory fence for writes.
1620    - +LFENCE+: memory fence for reads.    - `LFENCE`: memory fence for reads.
1621  --  --
1622  +  +
1623  owner:[Mike Rainey,http://www.cs.uchicago.edu/~mrainey]  owner:www.cs.uchicago.edu/~mrainey[Mike Rainey]
1624    
1625  //--------------------------------------------------------------------  //--------------------------------------------------------------------
1626  [2008/12/02]::  [2008/12/02]::
1627  +  +
1628  Added makefile and other support for building runtime on *OpenBSD*.  Added makefile and other support for building runtime on *OpenBSD*.
1629  +  +
1630  owner:[John Reppy,http://www.cs.uchicago.edu/~jhr]  owner:www.cs.uchicago.edu/~jhr[John Reppy]
1631    
1632  //====================================================================  //====================================================================
1633  == Version 110.68; 2008/08/13  == Version 110.68; 2008/08/13
# Line 1637  Line 1640 
1640  and perform a single action.  Previously the emitted code would  and perform a single action.  Previously the emitted code would
1641  not allow the regexps to match any character at all.  not allow the regexps to match any character at all.
1642  +  +
1643  owner:[Aaron Turon]  owner:smlnj.org[Aaron Turon]
1644    
1645  //--------------------------------------------------------------------  //--------------------------------------------------------------------
1646  [2008/08/05]::  [2008/08/05]::
1647  +  +
1648  Added build support for *OpenBSD* (thanks to Brian O'Hanlon).  Added build support for *OpenBSD* (thanks to Brian O'Hanlon).
1649  +  +
1650  owner:[John Reppy,http://www.cs.uchicago.edu/~jhr]  owner:www.cs.uchicago.edu/~jhr[John Reppy]
1651    
1652  //--------------------------------------------------------------------  //--------------------------------------------------------------------
1653  [2008/07/12]::  [2008/07/12]::
1654  +  +
1655  Fixed +Int64.fromString+ to use base-10.  Fixed `Int64.fromString` to use base-10.
1656  +  +
1657  owner:[John Reppy,http://www.cs.uchicago.edu/~jhr]  owner:www.cs.uchicago.edu/~jhr[John Reppy]
1658    
1659  //--------------------------------------------------------------------  //--------------------------------------------------------------------
1660  [2008/04/12]::  [2008/04/12]::
# Line 1662  Line 1665 
1665  compatible with *MLton* (and other SML implementations).  Thanks to  compatible with *MLton* (and other SML implementations).  Thanks to
1666  Matthew Fluet and Aaron Turon for their patches.  Matthew Fluet and Aaron Turon for their patches.
1667  +  +
1668  owner:[John Reppy,http://www.cs.uchicago.edu/~jhr]  owner:www.cs.uchicago.edu/~jhr[John Reppy]
1669    
1670  //--------------------------------------------------------------------  //--------------------------------------------------------------------
1671  [2008/20/04]::  [2008/20/04]::
# Line 1670  Line 1673 
1673  Implemented timer-based profiling on Windows, with behavior as close  Implemented timer-based profiling on Windows, with behavior as close
1674  to the *nix ITIMER-based profiling as possible.  to the *nix ITIMER-based profiling as possible.
1675  +  +
1676  owner:[Lars Bergstrom]  owner:www.lars.com[Lars Bergstrom]
1677    
1678  //--------------------------------------------------------------------  //--------------------------------------------------------------------
1679  [2008/07/04]::  [2008/07/04]::
# Line 1678  Line 1681 
1681  Finished off the Windows subset of the basis library. Added process  Finished off the Windows subset of the basis library. Added process
1682  support and various configuration and system identification utils.  support and various configuration and system identification utils.
1683  +  +
1684  owner:[Lars Bergstrom]  owner:www.lars.com[Lars Bergstrom]
1685    
1686  //--------------------------------------------------------------------  //--------------------------------------------------------------------
1687  [2008/03/18]::  [2008/03/18]::
1688  +  +
1689  Major changes to the RegExp library: see smlnj-lib/CHANGES for details.  Major changes to the RegExp library: see smlnj-lib/CHANGES for details.
1690  +  +
1691  owner:[John Reppy,http://www.cs.uchicago.edu/~jhr]  owner:www.cs.uchicago.edu/~jhr[John Reppy]
1692    
1693  //--------------------------------------------------------------------  //--------------------------------------------------------------------
1694  [2008/02/14]::  [2008/02/14]::
1695  +  +
1696  Added the Windows Status structure  Added the Windows Status structure
1697  +  +
1698  owner:[Lars Bergstrom]  owner:www.lars.com[Lars Bergstrom]
1699    
1700  //--------------------------------------------------------------------  //--------------------------------------------------------------------
1701  [2008/02/14]::  [2008/02/14]::
1702  +  +
1703  Added the Windows DDE structure  Added the Windows DDE structure
1704  +  +
1705  owner:[Lars Bergstrom]  owner:www.lars.com[Lars Bergstrom]
1706    
1707  //--------------------------------------------------------------------  //--------------------------------------------------------------------
1708  [2008/02/05]::  [2008/02/05]::
1709  +  +
1710  Added the Windows Config structure  Added the Windows Config structure
1711  +  +
1712  owner:[Lars Bergstrom]  owner:www.lars.com[Lars Bergstrom]
1713    
1714  //--------------------------------------------------------------------  //--------------------------------------------------------------------
1715  [2008/01/31]::  [2008/01/31]::
# Line 1714  Line 1717 
1717  Added outline of the Windows basis library and the basic registry  Added outline of the Windows basis library and the basic registry
1718  functionality.  functionality.
1719  +  +
1720  owner:[Lars Bergstrom]  owner:www.lars.com[Lars Bergstrom]
1721    
1722  //--------------------------------------------------------------------  //--------------------------------------------------------------------
1723  [2008/01/23]::  [2008/01/23]::
1724  +  +
1725  Fixed the amd64 code generator to compile with the current MLRISC.  Fixed the amd64 code generator to compile with the current MLRISC.
1726  +  +
1727  owner:[Mike Rainey,http://www.cs.uchicago.edu/~mrainey]  owner:www.cs.uchicago.edu/~mrainey[Mike Rainey]
1728    
1729  //--------------------------------------------------------------------  //--------------------------------------------------------------------
1730  [2007/11/26]::  [2007/11/26]::
# Line 1731  Line 1734 
1734  Additionally updated the README for the most basic *nlffi* sample with  Additionally updated the README for the most basic *nlffi* sample with
1735  what you need to do on MacOSX and on Windows to make it work.  what you need to do on MacOSX and on Windows to make it work.
1736  +  +
1737  owner:[Lars Bergstrom]  owner:www.lars.com[Lars Bergstrom]
1738    
1739  //--------------------------------------------------------------------  //--------------------------------------------------------------------
1740  [2007/11/21]::  [2007/11/21]::
1741  +  +
1742  Overwrite the +SMLNJ_HOME+ environment variable on installation  Overwrite the `SMLNJ_HOME` environment variable on installation
1743  Properly change the package code so that subsequent version  Properly change the package code so that subsequent version
1744  installations prompt for uninstall (instead of 'repair/remove')  installations prompt for uninstall (instead of 'repair/remove')
1745  +  +
1746  owner:[Lars Bergstrom]  owner:www.lars.com[Lars Bergstrom]
1747    
1748  //--------------------------------------------------------------------  //--------------------------------------------------------------------
1749  [2007/11/14]::  [2007/11/14]::
1750  +  +
1751  Cleaned up +WININSTALL+ file for new MSI-based setup.  Cleaned up `WININSTALL` file for new MSI-based setup.
1752  +  +
1753  owner:[Lars Bergstrom]  owner:www.lars.com[Lars Bergstrom]
1754    
1755  //====================================================================  //====================================================================
1756  == Version 110.67; 2007/11/13  == Version 110.67; 2007/11/13
# Line 1758  Line 1761 
1761  +  +
1762  Ensure that the size of the allocation space is at least 128K.  Ensure that the size of the allocation space is at least 128K.
1763  +  +
1764  owner:[John Reppy,http://www.cs.uchicago.edu/~jhr]  owner:www.cs.uchicago.edu/~jhr[John Reppy]
1765    
1766  //--------------------------------------------------------------------  //--------------------------------------------------------------------
1767  [2007/11/05]::  [2007/11/05]::
1768  +  +
1769  Fixed type error in *ml-lpt* library that occurs when compiling  Fixed type error in *ml-lpt* library that occurs when compiling
1770  against a basis that was compiled with the +USE_64_BIT_POSITIONS+  against a basis that was compiled with the `USE_64_BIT_POSITIONS`
1771  symbol set.  symbol set.
1772  (Thanks to Johannes Joemann)  (Thanks to Johannes Joemann)
1773  +  +
1774  owner:[John Reppy,http://www.cs.uchicago.edu/~jhr]  owner:www.cs.uchicago.edu/~jhr[John Reppy]
1775    
1776  //--------------------------------------------------------------------  //--------------------------------------------------------------------
1777  [2007/11/03]::  [2007/11/03]::
1778  +  +
1779  Fixed the amd64 code generator to compile with the current MLRISC.  Fixed the amd64 code generator to compile with the current MLRISC.
1780  +  +
1781  owner:[Mike Rainey,http://www.cs.uchicago.edu/~mrainey]  owner:www.cs.uchicago.edu/~mrainey[Mike Rainey]
1782    
1783  //--------------------------------------------------------------------  //--------------------------------------------------------------------
1784  [2007/11/02]::  [2007/11/02]::
1785  +  +
1786  Made +sml.bat+ more resilient to either not having run the installer  Made `sml.bat` more resilient to either not having run the installer
1787  and having no +SMLNJ_HOME+ set or having just shuffled the directory  and having no `SMLNJ_HOME` set or having just shuffled the directory
1788  around.  around.
1789  +  +
1790  owner:[Lars Bergstrom]  owner:www.lars.com[Lars Bergstrom]
1791    
1792  //--------------------------------------------------------------------  //--------------------------------------------------------------------
1793  [2007/11/01]::  [2007/11/01]::
1794  +  +
1795  A collection of bug fixes for +machine.sml+ in the Reactive library.  A collection of bug fixes for `machine.sml` in the Reactive library.
1796  (Thanks to Timothy Bourke)  (Thanks to Timothy Bourke)
1797  +  +
1798  owner:[John Reppy,http://www.cs.uchicago.edu/~jhr]  owner:www.cs.uchicago.edu/~jhr[John Reppy]
1799    
1800  //--------------------------------------------------------------------  //--------------------------------------------------------------------
1801  [2007/10/28]::  [2007/10/28]::
1802  +  +
1803  Patches for Mac OS X 10.5 (Leopard).  Patches for Mac OS X 10.5 (Leopard).
1804  +  +
1805  owner:[John Reppy,http://www.cs.uchicago.edu/~jhr]  owner:www.cs.uchicago.edu/~jhr[John Reppy]
1806    
1807  //--------------------------------------------------------------------  //--------------------------------------------------------------------
1808  [2007/10/28]::  [2007/10/28]::
1809  +  +
1810  Fixed some bugs in the AMD64 floating-point spilling code.  Fixed some bugs in the AMD64 floating-point spilling code.
1811  +  +
1812  owner:[Mike Rainey,http://www.cs.uchicago.edu/~mrainey]  owner:www.cs.uchicago.edu/~mrainey[Mike Rainey]
1813    
1814  //--------------------------------------------------------------------  //--------------------------------------------------------------------
1815  [2007/10/25]::  [2007/10/25]::
1816  +  +
1817  Added support for the atomic +XCHG+ instruction.  Added support for the atomic `XCHG` instruction.
1818  +  +
1819  owner:[Mike Rainey,http://www.cs.uchicago.edu/~mrainey]  owner:www.cs.uchicago.edu/~mrainey[Mike Rainey]
1820    
1821  //--------------------------------------------------------------------  //--------------------------------------------------------------------
1822  [2007/10/22]::  [2007/10/22]::
1823  +  +
1824  Added AMD64 support for floating-point negation.  Added AMD64 support for floating-point negation.
1825  +  +
1826  owner:[Mike Rainey,http://www.cs.uchicago.edu/~mrainey]  owner:www.cs.uchicago.edu/~mrainey[Mike Rainey]
1827    
1828  //--------------------------------------------------------------------  //--------------------------------------------------------------------
1829  [2007/10/22]::  [2007/10/22]::
# Line 1829  Line 1832 
1832  Added a Windows installer  Added a Windows installer
1833  Made it possible to build for *Windows* on a mapped drive from Parallels  Made it possible to build for *Windows* on a mapped drive from Parallels
1834  +  +
1835  owner:[Lars Bergstrom]  owner:www.lars.com[Lars Bergstrom]
1836    
1837  //--------------------------------------------------------------------  //--------------------------------------------------------------------
1838  [2007/10/22]::  [2007/10/22]::
1839  +  +
1840  Added AMD64 support for the atomic fetch and add instruction.  Added AMD64 support for the atomic fetch and add instruction.
1841  +  +
1842  owner:[Mike Rainey,http://www.cs.uchicago.edu/~mrainey]  owner:www.cs.uchicago.edu/~mrainey[Mike Rainey]
1843    
1844  //--------------------------------------------------------------------  //--------------------------------------------------------------------
1845  [2007/10/18]::  [2007/10/18]::
1846  +  +
1847  The GAS output now favors +p2align+ over +align+, since the  The GAS output now favors `p2align` over `align`, since the
1848  former is guaranteed to be consistent over multiple architectures  former is guaranteed to be consistent over multiple architectures
1849  and the latter is not.  and the latter is not.
1850  +  +
1851  owner:[Mike Rainey,http://www.cs.uchicago.edu/~mrainey]  owner:www.cs.uchicago.edu/~mrainey[Mike Rainey]
1852    
1853  //--------------------------------------------------------------------  //--------------------------------------------------------------------
1854  [2007/10/18]::  [2007/10/18]::
1855  +  +
1856  Fixed a bug in register spilling.  Fixed a bug in register spilling.
1857  +  +
1858  owner:[Mike Rainey,http://www.cs.uchicago.edu/~mrainey]  owner:www.cs.uchicago.edu/~mrainey[Mike Rainey]
1859    
1860  //--------------------------------------------------------------------  //--------------------------------------------------------------------
1861  [2007/10/2]::  [2007/10/2]::
# Line 1860  Line 1863 
1863  Added demo support for AMD64 for quick testing and fixed support for  Added demo support for AMD64 for quick testing and fixed support for
1864  64-bit label constants.  64-bit label constants.
1865  +  +
1866  owner:[Mike Rainey,http://www.cs.uchicago.edu/~mrainey]  owner:www.cs.uchicago.edu/~mrainey[Mike Rainey]
1867    
1868  //--------------------------------------------------------------------  //--------------------------------------------------------------------
1869  [2007/09/20]::  [2007/09/20]::
1870  +  +
1871  Added support for the MLRISC +COND+ instruction and the x86-64 +CMOVCC+  Added support for the MLRISC `COND` instruction and the x86-64 `CMOVCC`
1872  instruction.  instruction.
1873  +  +
1874  owner:[Mike Rainey,http://www.cs.uchicago.edu/~mrainey]  owner:www.cs.uchicago.edu/~mrainey[Mike Rainey]
1875    
1876  //--------------------------------------------------------------------  //--------------------------------------------------------------------
1877  [2007/09/17]::  [2007/09/17]::
1878  +  +
1879  Fixed an instruction-selection bug when loading 64-bit labels.  Fixed an instruction-selection bug when loading 64-bit labels.
1880  +  +
1881  owner:[Mike Rainey,http://www.cs.uchicago.edu/~mrainey]  owner:www.cs.uchicago.edu/~mrainey[Mike Rainey]
1882    
1883  //--------------------------------------------------------------------  //--------------------------------------------------------------------
1884  [2007/09/14]::  [2007/09/14]::
1885  +  +
1886  Fixed +Elaborator+ and +Translate+ performance bugs  Fixed `Elaborator` and `Translate` performance bugs
1887  +  +
1888  owner:[George Kuan,http://www.cs.uchicago.edu/~gkuan]  owner:www.cs.uchicago.edu/~gkuan[George Kuan]
1889    
1890  //--------------------------------------------------------------------  //--------------------------------------------------------------------
1891  [2007/09/12]::  [2007/09/12]::
1892  +  +
1893  Fixed +xorl+ memory argument bug.  Fixed `xorl` memory argument bug.
1894  +  +
1895  owner:[Mike Rainey,http://www.cs.uchicago.edu/~mrainey]  owner:www.cs.uchicago.edu/~mrainey[Mike Rainey]
1896    
1897  //--------------------------------------------------------------------  //--------------------------------------------------------------------
1898  [2007/07/27]::  [2007/07/27]::
1899  +  +
1900  Added +f64sgn+ (for +Real64.signBit+) as a primop defined  Added `f64sgn` (for `Real64.signBit`) as a primop defined
1901  in +MLRiscGen+. +signBit+(~0.0) not handled correctly.  in `MLRiscGen`. `signBit(~0.0)` not handled correctly.
1902  +  +
1903  owner:[George Kuan,http://www.cs.uchicago.edu/~gkuan]  owner:www.cs.uchicago.edu/~gkuan[George Kuan]
1904    
1905  //--------------------------------------------------------------------  //--------------------------------------------------------------------
1906  [2007/06/21]::  [2007/06/21]::
1907  +  +
1908  Fixed bug in {++TextIO++,++BinIO++}++.StreamIO.endOfStream++ that  Fixed bug in {`TextIO`,`BinIO`}`.StreamIO.endOfStream` that
1909  would incorrectly signal end of stream.  would incorrectly signal end of stream.
1910  +  +
1911  owner:[John Reppy,http://www.cs.uchicago.edu/~jhr]  owner:www.cs.uchicago.edu/~jhr[John Reppy]
1912    
1913  //--------------------------------------------------------------------  //--------------------------------------------------------------------
1914  [2007/06/12]::  [2007/06/12]::
1915  +  +
1916  Eliminated +config/allsources+.  The information is now drawn directly  Eliminated `config/allsources`.  The information is now drawn directly
1917  from +config/actions+.  from `config/actions`.
1918  +  +
1919  owner:[Matthias Blume,http://www.tti-c.org/blume/]  owner:www.tti-c.org/blume/[Matthias Blume]
1920    
1921  //====================================================================  //====================================================================
1922  == Version 110.65; 2007/06/07  == Version 110.65; 2007/06/07
# Line 1925  Line 1928 
1928  --  --
1929  * Aaron: fixed a number of bugs in *ml-ulex*.  * Aaron: fixed a number of bugs in *ml-ulex*.
1930  * Matthias:  * Matthias:
1931     ** added CM control +cm.force-tools+; this is false by default;     ** added CM control `cm.force-tools`; this is false by default;
1932        when set to true, then tools like *ml-yacc*, *ml-lex*, *ml-ulex*, etc.        when set to true, then tools like *ml-yacc*, *ml-lex*, *ml-ulex*, etc.
1933        will be forced to run regardless of whether or not their targets        will be forced to run regardless of whether or not their targets
1934        are up-to-date        are up-to-date
1935     ** changed installer code so that +config/install.sh+ will re-build     ** changed installer code so that `config/install.sh` will re-build
1936        heap images for all tools even if those heap images already existed        heap images for all tools even if those heap images already existed
1937  --  --
1938  +  +
1939  owner:[Matthias Blume,http://www.tti-c.org/blume/]  owner:www.tti-c.org/blume/[Matthias Blume]
1940    
1941  //--------------------------------------------------------------------  //--------------------------------------------------------------------
1942  [2007/06/04]::  [2007/06/04]::
1943  +  +
1944  After Aaron Turon's bug fix for *ml-ulex* (handling the +^+ character  After Aaron Turon's bug fix for *ml-ulex* (handling the `^` character
1945  in legacy mode), re-ran the lexer generator on all lex input files  in legacy mode), re-ran the lexer generator on all lex input files
1946  and committed the results.  and committed the results.
1947  +  +
1948  This should fix the problem with *ckit* and *nlffi* that was reported  This should fix the problem with *ckit* and *nlffi* that was reported
1949  by Vesa A. Norrman.  by Vesa A. Norrman.
1950  +  +
1951  owner:[Matthias Blume,http://www.tti-c.org/blume/]  owner:www.tti-c.org/blume/[Matthias Blume]
1952    
1953  //====================================================================  //====================================================================
1954  == Version 110.64; 2007/05/31  == Version 110.64; 2007/05/31
# Line 1957  Line 1960 
1960  3rd merge of base from primop-branch-3 into the trunk.  3rd merge of base from primop-branch-3 into the trunk.
1961  Additional bug fixes included:  Additional bug fixes included:
1962  +  +
1963   * +Timer.cpu_timer+, etc. type printing corrected (by making   * `Timer.cpu_timer`, etc. type printing corrected (by making
1964       +Timer+ have opaque sig constraint in +basis/Implementation/timer.sml+)       `Timer` have opaque sig constraint in `basis/Implementation/timer.sml`)
1965   * Infinite loop in FLINT (+tests/typing/tests/25.sml+) (fix by   * Infinite loop in FLINT (`tests/typing/tests/25.sml`) (fix by
1966       Stefan Monnier)       Stefan Monnier)
1967  +  +
1968  owner:[Dave MacQueen]  owner:cs.uchicago.edu/~dbm[Dave MacQueen]
1969    
1970  //--------------------------------------------------------------------  //--------------------------------------------------------------------
1971  [2007/05/31]::  [2007/05/31]::
1972  +  +
1973  Fixed some bugs in new Div code in +FLINT/trans/translate.sml+.  Fixed some bugs in new Div code in `FLINT/trans/translate.sml`.
1974  +  +
1975  Also, changed the handling of "no core access":  When +translate.sml+  Also, changed the handling of "no core access":  When `translate.sml`
1976  needs access to a core exception at a time when the core has not  needs access to a core exception at a time when the core has not
1977  been set up yet (this only happens when compiling +system/smlnj/init/+*),  been set up yet (this only happens when compiling `system/smlnj/init/`*),
1978  then don't bother generating the corresponding tests.  then don't bother generating the corresponding tests.
1979  +  +
1980  The old scheme was to generate a bogus value to be used in place of  The old scheme was to generate a bogus value to be used in place of
1981  the exception.  Unfortunately, that confuses the plambda type checker.  the exception.  Unfortunately, that confuses the plambda type checker.
1982  Moreover, it does not do any good, because at runtime we don't expect  Moreover, it does not do any good, because at runtime we don't expect
1983  such an exception to be ever raised.  (The code in +system/smlnj/init/+*  such an exception to be ever raised.  (The code in `system/smlnj/init/`*
1984  has to be written very carefully with this in mind!)  has to be written very carefully with this in mind!)
1985  +  +
1986  owner:[Matthias Blume,http://www.tti-c.org/blume/]  owner:www.tti-c.org/blume/[Matthias Blume]
1987    
1988  //--------------------------------------------------------------------  //--------------------------------------------------------------------
1989  [2007/05/29]::  [2007/05/29]::
1990  +  +
1991  Added +FSQRT+ instructions for the AMD64 code generator.  Added `FSQRT` instructions for the AMD64 code generator.
1992  +  +
1993  owner:[Mike Rainey,http://www.cs.uchicago.edu/~mrainey]  owner:www.cs.uchicago.edu/~mrainey[Mike Rainey]
1994    
1995  //--------------------------------------------------------------------  //--------------------------------------------------------------------
1996  [2007/05/29]::  [2007/05/29]::
1997  +  +
1998  +FLINT/trans/translate.sml+ now wraps all +DIV+/+MOD+/+QUOT+/+REM+  `FLINT/trans/translate.sml` now wraps all `DIV`/`MOD`/`QUOT`/`REM`
1999  operations with an explicit test for zero division.  This should  operations with an explicit test for zero division.  This should
2000  fixe several regressions and makes it possible for downstream optimization  fixe several regressions and makes it possible for downstream optimization
2001  phases to treat these operations as "pure" when they are applied to unsigned  phases to treat these operations as "pure" when they are applied to unsigned
2002  operands.  operands.
2003  +  +
2004  owner:[Matthias Blume,http://www.tti-c.org/blume/]  owner:www.tti-c.org/blume/[Matthias Blume]
2005    
2006  //--------------------------------------------------------------------  //--------------------------------------------------------------------
2007  [2007/05/29]::  [2007/05/29]::
# Line 2007  Line 2010 
2010  in contrast to the previous one, uses SSE registers and instructions  in contrast to the previous one, uses SSE registers and instructions
2011  for all floating-point computations.  for all floating-point computations.
2012  +  +
2013  owner:[Mike Rainey,http://www.cs.uchicago.edu/~mrainey]  owner:www.cs.uchicago.edu/~mrainey[Mike Rainey]
2014    
2015  //--------------------------------------------------------------------  //--------------------------------------------------------------------
2016  [2007/05/29]::  [2007/05/29]::
# Line 2016  Line 2019 
2019  for bugs #1415 and #1416.  We also now correctly handle format characters that  for bugs #1415 and #1416.  We also now correctly handle format characters that
2020  lie outside the specified set.  lie outside the specified set.
2021  +  +
2022  owner:[John Reppy,http://www.cs.uchicago.edu/~jhr]  owner:www.cs.uchicago.edu/~jhr[John Reppy]
2023    
2024  //--------------------------------------------------------------------  //--------------------------------------------------------------------
2025  [2007/05/23]::  [2007/05/23]::
# Line 2024  Line 2027 
2027  CMB (and CM) now automatically defines the CM "preprocessor" symbol  CMB (and CM) now automatically defines the CM "preprocessor" symbol
2028  NO_PLUGINS during "makeml -rebuild" or when CM operates in "slave" mode.  NO_PLUGINS during "makeml -rebuild" or when CM operates in "slave" mode.
2029  +  +
2030    (In addition, CMB_REBUILD_MODE is defined for +makeml -rebuild+,    (In addition, CMB_REBUILD_MODE is defined for `makeml -rebuild`,
2031     CM_SLAVE_MODE is defined in attached slaves while running CM.make     CM_SLAVE_MODE is defined in attached slaves while running CM.make
2032     or CM.rebuild, and CMB_SLAVE_MODE is defined in attached slaves     or CM.rebuild, and CMB_SLAVE_MODE is defined in attached slaves
2033     while running +CMB.make+.  The point is that the single symbol     while running `CMB.make`.  The point is that the single symbol
2034     NO_PLUGINS is definde in all three cases.)     NO_PLUGINS is definde in all three cases.)
2035  +  +
2036  I changed the three locations within the sources that get compiled  I changed the three locations within the sources that get compiled
2037  during +CMB.make+ where *ml-yacc* or *ml-lex* input is processed: When  during `CMB.make` where *ml-yacc* or *ml-lex* input is processed: When
2038  NO_PLUGINS defined, then the use of the mlyacc and mllex tools  NO_PLUGINS defined, then the use of the mlyacc and mllex tools
2039  is bypassed.  is bypassed.
2040  +  +
2041  When bootstrapping new versions of the compiler, there can be  When bootstrapping new versions of the compiler, there can be
2042  situations where the plugin tools for *ml-yacc* and *ml-lex* (or *ml-ulex*)  situations where the plugin tools for *ml-yacc* and *ml-lex* (or *ml-ulex*)
2043  are not available or otherwise not operational.  In this case one can  are not available or otherwise not operational.  In this case one can
2044  manually define the NO_PLUGINS symbol prior to running +CMB.make()+.  To  manually define the NO_PLUGINS symbol prior to running `CMB.make()`.  To
2045  do so, the following command should be issued at the interactive  do so, the following command should be issued at the interactive
2046  prompt:  prompt:
2047  +  +
# Line 2047  Line 2050 
2050     #set (CMB.symval "NO_PLUGINS") (SOME 1);     #set (CMB.symval "NO_PLUGINS") (SOME 1);
2051  ------------  ------------
2052  +  +
2053  A +CMB.make+ with NO_PLUGINS defined relies on the existence of the  A `CMB.make` with NO_PLUGINS defined relies on the existence of the
2054  files that normally would be generated by *ml-yacc* and *ml-lex*.  files that normally would be generated by *ml-yacc* and *ml-lex*.
2055  (Copies of these files are in the repository.)  (Copies of these files are in the repository.)
2056  +  +
2057  owner:[Matthias Blume,http://www.tti-c.org/blume/]  owner:www.tti-c.org/blume/[Matthias Blume]
2058    
2059  //--------------------------------------------------------------------  //--------------------------------------------------------------------
2060  [2007/5/23]::  [2007/5/23]::
2061  +  +
2062  Second merge of base from +primop-branch-3+ into the trunk.  Second merge of base from `primop-branch-3` into the trunk.
2063  Additional bug fixes included:  Additional bug fixes included:
2064  --  --
2065    * +Date.scan+ and +Date.fromString+ fixed;    * `Date.scan` and `Date.fromString` fixed;
2066    * Overloading resolution fixed and some type printing problems corrected.    * Overloading resolution fixed and some type printing problems corrected.
2067  --  --
2068  +  +
2069  owner:[David MacQueen]  owner:cs.uchicago.edu/~dbm[Dave MacQueen]
2070    
2071  //--------------------------------------------------------------------  //--------------------------------------------------------------------
2072  [2007/05/23]::  [2007/05/23]::
# Line 2074  Line 2077 
2077  There are now a number of new installation targets that give some  There are now a number of new installation targets that give some
2078  fine-grain control over what classes and suffixes are known, and what  fine-grain control over what classes and suffixes are known, and what
2079  they will map to.  they will map to.
2080  See +config/targets+ for details.  See `config/targets` for details.
2081  +  +
2082  The code that caused plugin installation as part of running a  The code that caused plugin installation as part of running a
2083  tool's "build" script has been removed.  (The build script is for  tool's "build" script has been removed.  (The build script is for
2084  building, not for installing.)  building, not for installing.)
2085  +  +
2086  owner:[Matthias Blume,http://www.tti-c.org/blume/]  owner:www.tti-c.org/blume/[Matthias Blume]
2087    
2088  //--------------------------------------------------------------------  //--------------------------------------------------------------------
2089  [2007/05/22]::  [2007/05/22]::
# Line 2093  Line 2096 
2096  considered outdated).  Turning the control to true can be useful for  considered outdated).  Turning the control to true can be useful for
2097  bootstrapping.  bootstrapping.
2098  +  +
2099  owner:[Matthias Blume,http://www.tti-c.org/blume/]  owner:www.tti-c.org/blume/[Matthias Blume]
2100    
2101  //--------------------------------------------------------------------  //--------------------------------------------------------------------
2102  [2007/05/19]::  [2007/05/19]::
# Line 2104  Line 2107 
2107  +  +
2108  [grid="none",frame="none",width="50%",cols=">2,^1,<2"]  [grid="none",frame="none",width="50%",cols=">2,^1,<2"]
2109  |===============================================  |===============================================
2110  |  +Repair+             | => | +AntlrRepair+  |  `Repair`             | => | `AntlrRepair`
2111  |  +StreamPos+          | => | +AntlrStreamPos+  |  `StreamPos`          | => | `AntlrStreamPos`
2112  |  +ErrHandlerFn+       | => | +AntlrErrHandler+  |  `ErrHandlerFn`       | => | `AntlrErrHandler`
2113  |  +EBNF+               | => | +AntlrEBNF+  |  `EBNF`               | => | `AntlrEBNF`
2114  |===============================================  |===============================================
2115  +  +
2116  The *ml-antlr* specification format has changed: declarations such as  The *ml-antlr* specification format has changed: declarations such as
2117  +%tokens+ and nonterminal definitions can occur *multiple* times in the  `%tokens` and nonterminal definitions can occur *multiple* times in the
2118  same specification.  The semantics are such that each new declaration  same specification.  The semantics are such that each new declaration
2119  extends the previous ones.  This does not apply to +%start+ or +%name+,  extends the previous ones.  This does not apply to `%start` or `%name`,
2120  of course.  of course.
2121  +  +
2122  Importing a grammar via +%import+ now includes *all* declarations in from  Importing a grammar via `%import` now includes *all* declarations in from
2123  the imported grammar, except for +%name+, +%entry+, and +%start+.  Tokens  the imported grammar, except for `%name`, `%entry`, and `%start`.  Tokens
2124  and nonterminals can be dropped using the new +%dropping+ clause of the  and nonterminals can be dropped using the new `%dropping` clause of the
2125  +%import+ directive; the separate +%drop+ and +%extend+ have been removed.  `%import` directive; the separate `%drop` and `%extend` have been removed.
2126  +  +
2127  We now allow optional type annotations on nonterminals, using the +%nonterms+  We now allow optional type annotations on nonterminals, using the `%nonterms`
2128  directive as in *ml-yacc*.  directive as in *ml-yacc*.
2129  +  +
2130  The +refcell+ construct is now implemented using SML's regular reference  The `refcell` construct is now implemented using SML's regular reference
2131  cells, so the +:==+ and +!!+ notation has been deprecated.  cells, so the `:==` and `!!` notation has been deprecated.
2132  +  +
2133  The *ml-antlr* tool now does much more checking of specifications, and  The *ml-antlr* tool now does much more checking of specifications, and
2134  its error messages have been greatly improved.  Error repair for  its error messages have been greatly improved.  Error repair for
# Line 2133  Line 2136 
2136  much faster and more accurate.  much faster and more accurate.
2137  +  +
2138  *ml-ulex* is now more lenient with escape codes (non-SML-standard  *ml-ulex* is now more lenient with escape codes (non-SML-standard
2139  escape codes are now interpreted literally, so _e.g._, +\|+ denotes "+|+").  escape codes are now interpreted literally, so _e.g._, `\|` denotes "`|`").
2140  Also, character classes may now include a "+-+" character at the beginning  Also, character classes may now include a "`-`" character at the beginning
2141  as is standard in most other regexp tools.  as is standard in most other regexp tools.
2142  +  +
2143  All of these changes are documented in the user guide, which has  All of these changes are documented in the user guide, which has
2144  been updated and improved with this merge.  been updated and improved with this merge.
2145  +  +
2146  owner:[Aaron Turon,http://www.cs.uchicago.edu/~adrassi]  owner:www.cs.uchicago.edu/~adrassi[Aaron Turon]
2147    
2148  //--------------------------------------------------------------------  //--------------------------------------------------------------------
2149  [2007/05/03]::  [2007/05/03]::
# Line 2150  Line 2153 
2153  with a reorganized system for handling primops.  Various bug fixes  with a reorganized system for handling primops.  Various bug fixes
2154  and improvements in printing signatures.  and improvements in printing signatures.
2155  +  +
2156  owner:[David MacQueen,http://www.cs.uchicago.edu/~jhr]  owner:www.cs.uchicago.edu/~jhr[David MacQueen]
2157    
2158  //--------------------------------------------------------------------  //--------------------------------------------------------------------
2159  [2007/05/02]::  [2007/05/02]::
2160  +  +
2161  Preliminary commit of large *ml-lpt* revisions (more to come for 110.64).  Preliminary commit of large *ml-lpt* revisions (more to come for 110.64).
2162  The *ml-antlr* specification format has changed: declarations such as  The *ml-antlr* specification format has changed: declarations such as
2163  +%tokens+ and nonterminal definitions can occur *multiple* times in the  `%tokens` and nonterminal definitions can occur *multiple* times in the
2164  same specification.  The semantics are such that each new declaration  same specification.  The semantics are such that each new declaration
2165  extends the previous ones.  Grammar extension constructs have also  extends the previous ones.  Grammar extension constructs have also
2166  changed.  We now allow type annotations on nonterminals.  Finally,  changed.  We now allow type annotations on nonterminals.  Finally,
2167  the refcell construct is now implemented using SML's regular reference  the refcell construct is now implemented using SML's regular reference
2168  cells, so the +:==+ and +!!+ notation has been deprecated.  All of these  cells, so the `:==` and `!!` notation has been deprecated.  All of these
2169  changes will appear in the 110.64 user guide for *ml-lpt*.  changes will appear in the 110.64 user guide for *ml-lpt*.
2170  +  +
2171  The *ml-antlr* tool now does much more checking of specifications, and  The *ml-antlr* tool now does much more checking of specifications, and
# Line 2170  Line 2173 
2173  some work on the error repair process for generated parsers, but this  some work on the error repair process for generated parsers, but this
2174  will be further improved in 110.64.  will be further improved in 110.64.
2175  +  +
2176  owner:[Aaron Turon,http://www.cs.uchicago.edu/~adrassi]  owner:www.cs.uchicago.edu/~adrassi[Aaron Turon]
2177    
2178  //--------------------------------------------------------------------  //--------------------------------------------------------------------
2179  [2007/04/24]::  [2007/04/24]::
2180  +  +
2181  More Basis fixes: The +Char.fromString+ (_etc._) functions did not handle  More Basis fixes: The `Char.fromString` (_etc._) functions did not handle
2182  the "+\uxxxx+" escape sequence.  There is still an outstanding bug with  the "`\uxxxx`" escape sequence.  There is still an outstanding bug with
2183  +String.fromString+ the tail is a format escape.  I added a comment to  `String.fromString` the tail is a format escape.  I added a comment to
2184  this effect in +Basis/Implementation/string.sml+.  this effect in `Basis/Implementation/string.sml`.
2185  Thanks to Andreas Rossberg.  Thanks to Andreas Rossberg.
2186  +  +
2187  owner:[John Reppy,http://www.cs.uchicago.edu/~jhr]  owner:www.cs.uchicago.edu/~jhr[John Reppy]
2188    
2189  //--------------------------------------------------------------------  //--------------------------------------------------------------------
2190  [2007/04/24]::  [2007/04/24]::
2191  +  +
2192  Added +next+ function to +Fifo+ and +Queue+ modules in the SML/NJ Library.  Added `next` function to `Fifo` and `Queue` modules in the SML/NJ Library.
2193  +  +
2194  owner:[John Reppy,http://www.cs.uchicago.edu/~jhr]  owner:www.cs.uchicago.edu/~jhr[John Reppy]
2195    
2196  //--------------------------------------------------------------------  //--------------------------------------------------------------------
2197  [2007/04/23]::  [2007/04/23]::
2198  +  +
2199  More Basis fixes: +Time.fmt+ dropped the leading "+~+" for negative time  More Basis fixes: `Time.fmt` dropped the leading "`~`" for negative time
2200  values that had no whole part.  values that had no whole part.
2201  +  +
2202  owner:[John Reppy,http://www.cs.uchicago.edu/~jhr]  owner:www.cs.uchicago.edu/~jhr[John Reppy]
2203    
2204  //--------------------------------------------------------------------  //--------------------------------------------------------------------
2205  [2007/04/23]::  [2007/04/23]::
2206  +  +
2207  More Basis fixes: the +OS.Path+ module did not include the +InvalidArc+  More Basis fixes: the `OS.Path` module did not include the `InvalidArc`
2208  exception and did not do sufficient argument checking.  exception and did not do sufficient argument checking.
2209  Thanks to Stephen Weeks and Adam Chilpala.  Thanks to Stephen Weeks and Adam Chilpala.
2210  +  +
2211  owner:[John Reppy,http://www.cs.uchicago.edu/~jhr]  owner:www.cs.uchicago.edu/~jhr[John Reppy]
2212    
2213  //--------------------------------------------------------------------  //--------------------------------------------------------------------
2214  [2007/04/16]::  [2007/04/16]::
2215  +  +
2216  Fixed an unbound functor bug in the AMD64 CM file.  Fixed an unbound functor bug in the AMD64 CM file.
2217  +  +
2218  owner:[Mike Rainey,http://www.cs.uchicago.edu/~mrainey]  owner:www.cs.uchicago.edu/~mrainey[Mike Rainey]
2219    
2220  //--------------------------------------------------------------------  //--------------------------------------------------------------------
2221  [2007/04/12]::  [2007/04/12]::
# Line 2221  Line 2224 
2224  SVID.  It now looks similar to the ia32 SVID, yet uses staged  SVID.  It now looks similar to the ia32 SVID, yet uses staged
2225  allocation.  allocation.
2226  +  +
2227  owner:[Mike Rainey,http://www.cs.uchicago.edu/~mrainey]  owner:www.cs.uchicago.edu/~mrainey[Mike Rainey]
2228    
2229  //--------------------------------------------------------------------  //--------------------------------------------------------------------
2230  [2007/04/07]::  [2007/04/07]::
2231  +  +
2232  More Basis fixes: the +WORD+ signature was missing {++to++,++from++}++Large.++  More Basis fixes: the `WORD` signature was missing {`to`,`from`}`Large.`
2233  Thanks to Andreas Rossberg.  Thanks to Andreas Rossberg.
2234  +  +
2235  owner:[John Reppy,http://www.cs.uchicago.edu/~jhr]  owner:www.cs.uchicago.edu/~jhr[John Reppy]
2236    
2237  //====================================================================  //====================================================================
2238  == Version 110.63; 2007/03/22  == Version 110.63; 2007/03/22
# Line 2240  Line 2243 
2243  +  +
2244  Fixed bogus operand sizes in AMD64 instruction spilling.  Fixed bogus operand sizes in AMD64 instruction spilling.
2245  +  +
2246  owner:[Mike Rainey,http://www.cs.uchicago.edu/~mrainey]  owner:www.cs.uchicago.edu/~mrainey[Mike Rainey]
2247    
2248  //--------------------------------------------------------------------  //--------------------------------------------------------------------
2249  [2007/03/19]::  [2007/03/19]::
2250  +  +
2251  Fixed a number of inconsistencies between the +Posix.TTY+ structure  Fixed a number of inconsistencies between the `Posix.TTY` structure
2252  and the Basis specification.  Thanks to Adam Chilpala.  and the Basis specification.  Thanks to Adam Chilpala.
2253  +  +
2254  owner:[John Reppy,http://www.cs.uchicago.edu/~jhr]  owner:www.cs.uchicago.edu/~jhr[John Reppy]
2255    
2256  //--------------------------------------------------------------------  //--------------------------------------------------------------------
2257  [2007/02/26]::  [2007/02/26]::
2258  +  +
2259  Added preliminary support in MLRISC for Staged Allocation, a technique  Added preliminary support in MLRISC for Staged Allocation, a technique
2260  for specifying calling conventions (see  for specifying calling conventions (see
2261  +http://www.eecs.harvard.edu/~nr/pubs/staged-abstract.html+).  `http://www.eecs.harvard.edu/~nr/pubs/staged-abstract.html`).
2262  Initially, we plan to use this code to generate C calls for the AMD64.  Initially, we plan to use this code to generate C calls for the AMD64.
2263  +  +
2264  The staged allocation code base resides in +MLRISC/staged-allocation+,  The staged allocation code base resides in `MLRISC/staged-allocation`,
2265  and specialized calling conventions go in +MLRISC/ARCH/staged-allocation+.  and specialized calling conventions go in `MLRISC/ARCH/staged-allocation`.
2266  +  +
2267  owner:[Mike Rainey,http://www.cs.uchicago.edu/~mrainey]  owner:www.cs.uchicago.edu/~mrainey[Mike Rainey]
2268    
2269  //--------------------------------------------------------------------  //--------------------------------------------------------------------
2270  [2007/02/20]::  [2007/02/20]::
2271  +  +
2272  Bug fix: when +SaveCState+ was called with two values to save, a subsequent  Bug fix: when `SaveCState` was called with two values to save, a subsequent
2273  GC could cause the +RestoreCState+ to fail because the saved state had been  GC could cause the `RestoreCState` to fail because the saved state had been
2274  promoted to tagless pair.  promoted to tagless pair.
2275  +  +
2276  owner:[John Reppy,http://www.cs.uchicago.edu/~jhr]  owner:www.cs.uchicago.edu/~jhr[John Reppy]
2277    
2278  //--------------------------------------------------------------------  //--------------------------------------------------------------------
2279  [2007/02/20]::  [2007/02/20]::
# Line 2283  Line 2286 
2286      val _  = Word8Array.update(a1, 0, 0w128);      val _  = Word8Array.update(a1, 0, 0w128);
2287  ------------  ------------
2288  +  +
2289  The +x86MCEmitter+ crashed when the immediate operand to +MOVB+ was outside  The `x86MCEmitter` crashed when the immediate operand to `MOVB` was outside
2290  of the range +-128+ ... +127+.  I've changed the code so that the range  of the range `-128` ... `127`.  I've changed the code so that the range
2291  check is disabled.   Only the low order 8 bits of the immediate operand  check is disabled.   Only the low order 8 bits of the immediate operand
2292  are now significant.  are now significant.
2293  +  +
2294  owner:[Allen Leung]  owner:smlnj.org[Allen Leung]
2295    
2296  //--------------------------------------------------------------------  //--------------------------------------------------------------------
2297  [2007/02/15]::  [2007/02/15]::
# Line 2299  Line 2302 
2302  You should update your admin directory, so the shell scripts for  You should update your admin directory, so the shell scripts for
2303  maintaining your local copy of the repository reflect this change.  maintaining your local copy of the repository reflect this change.
2304  +  +
2305  owner:[Matthias Blume,http://www.tti-c.org/blume/]  owner:www.tti-c.org/blume/[Matthias Blume]
2306    
2307  //--------------------------------------------------------------------  //--------------------------------------------------------------------
2308  [2007/02/14]::  [2007/02/14]::
# Line 2307  Line 2310 
2310  Fixed bug in CM's parallel make facility that failed to have  Fixed bug in CM's parallel make facility that failed to have
2311  the master re-link modules after letting slaves compile them.  the master re-link modules after letting slaves compile them.
2312  +  +
2313  owner:[Matthias Blume,http://www.tti-c.org/blume/]  owner:www.tti-c.org/blume/[Matthias Blume]
2314    
2315  //--------------------------------------------------------------------  //--------------------------------------------------------------------
2316  [2007/02/12]::  [2007/02/12]::
# Line 2315  Line 2318 
2318  Fixed typo in *ml-build* script that prevented library anchors  Fixed typo in *ml-build* script that prevented library anchors
2319  from being registered.  from being registered.
2320  +  +
2321  owner:[Matthias Blume,http://www.tti-c.org/blume/]  owner:www.tti-c.org/blume/[Matthias Blume]
2322    
2323  //====================================================================  //====================================================================
2324  == Version 110.62; 2007/02/02  == Version 110.62; 2007/02/02
# Line 2326  Line 2329 
2329  +  +
2330  Brought ml-lpt manual up-to-date with the code.  Many minor  Brought ml-lpt manual up-to-date with the code.  Many minor
2331  improvements to the tools, and a few minor bugfixes.  Prepared  improvements to the tools, and a few minor bugfixes.  Prepared
2332  ml-lpt-lib for integration with new +UTF8+ structure.  Changed  ml-lpt-lib for integration with new `UTF8` structure.  Changed
2333  the interface for creating streams in *ml-ulex* (we now support  the interface for creating streams in *ml-ulex* (we now support
2334  stream creation from several kinds of sources).  Overall, the  stream creation from several kinds of sources).  Overall, the
2335  tools are now quite stable, and their interfaces are unlikely to  tools are now quite stable, and their interfaces are unlikely to
2336  change in a way that would break compatibility.  More work,  change in a way that would break compatibility.  More work,
2337  however, is needed in the documentation.  however, is needed in the documentation.
2338  +  +
2339  owner:[Aaron Turon,http://www.cs.uchicago.edu/~adrassi]  owner:www.cs.uchicago.edu/~adrassi[Aaron Turon]
2340    
2341  //--------------------------------------------------------------------  //--------------------------------------------------------------------
2342  [2007/02/01]::  [2007/02/01]::
# Line 2349  Line 2352 
2352  there is too much code that during installation relies on the presence  there is too much code that during installation relies on the presence
2353  of these tools -- resulting in a tricky ordering problem.)  of these tools -- resulting in a tricky ordering problem.)
2354  +  +
2355  owner:[Matthias Blume,http://www.tti-c.org/blume/]  owner:www.tti-c.org/blume/[Matthias Blume]
2356    
2357  //--------------------------------------------------------------------  //--------------------------------------------------------------------
2358  [2007/01/30]::  [2007/01/30]::
2359  +  +
2360  Added +SMLofNJ.shiftArgs+ which is like a shell's "shift" command.  Added `SMLofNJ.shiftArgs` which is like a shell's "shift" command.
2361  Modified CM's startup code to use +shiftArgs+ as it processes  Modified CM's startup code to use `shiftArgs` as it processes
2362  command line arguments.  This way, the init code in each .sml-file  command line arguments.  This way, the init code in each .sml-file
2363  or library that is mentioned at the top level will see only  or library that is mentioned at the top level will see only
2364  those arguments that have not yet been processed at this point.  those arguments that have not yet been processed at this point.
2365  In other words, the init code can "seize control" and process the  In other words, the init code can "seize control" and process the
2366  remaining command line.  remaining command line.
2367  +  +
2368  owner:[Matthias Blume,http://www.tti-c.org/blume/]  owner:www.tti-c.org/blume/[Matthias Blume]
2369    
2370  //--------------------------------------------------------------------  //--------------------------------------------------------------------
2371  [2007/01/30]::  [2007/01/30]::
2372  +  +
2373  Added fromList function to the +ORD_SET+ interface and lookup to the  Added fromList function to the `ORD_SET` interface and lookup to the
2374  +ORD_MAP+ interface.  See the SML/NJ Library CHANGES file for details.  `ORD_MAP` interface.  See the SML/NJ Library CHANGES file for details.
2375  +  +
2376  owner:[John Reppy,http://www.cs.uchicago.edu/~jhr]  owner:www.cs.uchicago.edu/~jhr[John Reppy]
2377    
2378  //--------------------------------------------------------------------  //--------------------------------------------------------------------
2379  [2007/01/28]::  [2007/01/28]::
2380  +  +
2381  Added the +UTF8+ structure and signature from the Moby compiler to  Added the `UTF8` structure and signature from the Moby compiler to
2382  the SML/NJ library (and the CML library).  These modules will replace  the SML/NJ library (and the CML library).  These modules will replace
2383  the version in the ml-lpt-lib.  the version in the ml-lpt-lib.
2384  +  +
2385  owner:[John Reppy,http://www.cs.uchicago.edu/~jhr]  owner:www.cs.uchicago.edu/~jhr[John Reppy]
2386    
2387  //--------------------------------------------------------------------  //--------------------------------------------------------------------
2388  [2007/01/26]::  [2007/01/26]::
2389  +  +
2390  Added entries to handle ml-lpt-lib.cm in installer.  Added entries to handle ml-lpt-lib.cm in installer.
2391  +  +
2392  owner:[Matthias Blume,http://www.tti-c.org/blume/]  owner:www.tti-c.org/blume/[Matthias Blume]
2393    
2394  //====================================================================  //====================================================================
2395  == Version 110.61.1; 2006/12/15  == Version 110.61.1; 2006/12/15
# Line 2400  Line 2403 
2403  +  +
2404  This supersedes the pre-brown-paper-bug release (see below).  This supersedes the pre-brown-paper-bug release (see below).
2405  +  +
2406  owner:[Matthias Blume,http://www.tti-c.org/blume/]  owner:www.tti-c.org/blume/[Matthias Blume]
2407    
2408  //====================================================================  //====================================================================
2409  == Version 110.61; 2006/12/14  == Version 110.61; 2006/12/14
# Line 2409  Line 2412 
2412  //--------------------------------------------------------------------  //--------------------------------------------------------------------
2413  [2006/14/06]::  [2006/14/06]::
2414  +  +
2415  Fixed the code in ++runtime/c-libs/posix-tty/++{++tcgetattr++,++tcsetattr++}++.c++ to  Fixed the code in `runtime/c-libs/posix-tty/`{`tcgetattr`,`tcsetattr`}`.c` to
2416  get the c_cc termios data copied correctly.  Also moved the allocation  get the c_cc termios data copied correctly.  Also moved the allocation
2417  of the string to avoid problems if it caused a GC.  of the string to avoid problems if it caused a GC.
2418  +  +
2419  Thanks to Timothy Bourke for the bug report and fix.  Thanks to Timothy Bourke for the bug report and fix.
2420  +  +
2421  owner:[John Reppy,http://cs.uchicago.edu/~jhr]  owner:cs.uchicago.edu/~jhr[John Reppy]
2422    
2423  //--------------------------------------------------------------------  //--------------------------------------------------------------------
2424  [2006/12/08]::  [2006/12/08]::
# Line 2427  Line 2430 
2430  +  +
2431  This makes it possible to, _e.g._, build *ml-yacc* from sources even if  This makes it possible to, _e.g._, build *ml-yacc* from sources even if
2432  svn checkout messed up the time stamps on files in such a way that  svn checkout messed up the time stamps on files in such a way that
2433  +yacc.grm+ is younger than yacc.grm.sml or +yacc.grm.sig+.  (*Ml-yacc*  `yacc.grm` is younger than yacc.grm.sml or `yacc.grm.sig`.  (*Ml-yacc*
2434  would be needed to re-process +yacc.grm+, but obviously it might not yet be  would be needed to re-process `yacc.grm`, but obviously it might not yet be
2435  available at that time.)  available at that time.)
2436  +  +
2437  owner:[Matthias Blume,http://www.tti-c.org/blume]  owner:www.tti-c.org/blume[Matthias Blume]
2438    
2439  //--------------------------------------------------------------------  //--------------------------------------------------------------------
2440  [2006/12/06]::  [2006/12/06]::
2441  +  +
2442  Fixed the types of +recvVecFrom+, +recvVecFrom'+, +recvVecFromNB+, and  Fixed the types of `recvVecFrom`, `recvVecFrom'`, `recvVecFromNB`, and
2443  +recvVecFromNB'+ in the +SOCKET+ signature.  This error is actually  `recvVecFromNB'` in the `SOCKET` signature.  This error is actually
2444  in the _SML Basis_ specification too.  in the _SML Basis_ specification too.
2445  +  +
2446  owner:[John Reppy,http://cs.uchicago.edu/~jhr]  owner:cs.uchicago.edu/~jhr[John Reppy]
2447    
2448  //--------------------------------------------------------------------  //--------------------------------------------------------------------
2449  [2006/12/05]::  [2006/12/05]::
# Line 2448  Line 2451 
2451  CM now reports undefined anchors as errors and aborts execution  CM now reports undefined anchors as errors and aborts execution
2452  rather than silently pressing on using bogus values.  rather than silently pressing on using bogus values.
2453  +  +
2454  owner:[Matthias Blume,http://www.tti-c.org/blume/]  owner:www.tti-c.org/blume/[Matthias Blume]
2455    
2456  //--------------------------------------------------------------------  //--------------------------------------------------------------------
2457  [2006/11/29]::  [2006/11/29]::
2458  +  +
2459  Use +Say.vsay+ for printing the "+[autoloading]+" message, so  Use `Say.vsay` for printing the "`[autoloading]`" message, so
2460  +#set CM.Control.verbose false+ (or +-Ccm.verbose=false+) can be used  `#set CM.Control.verbose false` (or `-Ccm.verbose=false`) can be used
2461  to suppress them.  to suppress them.
2462  +  +
2463  owner:[Matthias Blume,http://www.tti-c.org/blume/]  owner:www.tti-c.org/blume/[Matthias Blume]
2464    
2465  //--------------------------------------------------------------------  //--------------------------------------------------------------------
2466  [2006/11/10]::  [2006/11/10]::
2467  +  +
2468  Fixed bug in CM where "+with:+" specifications that affect compilation  Fixed bug in CM where "`with:`" specifications that affect compilation
2469  (as opposed to parsing) were ignored.  (as opposed to parsing) were ignored.
2470  +  +
2471  owner:[Matthias Blume,http://www.tti-c.org/blume/]  owner:www.tti-c.org/blume/[Matthias Blume]
2472    
2473  //====================================================================  //====================================================================
2474  == Version 110.60; 2006/11/09  == Version 110.60; 2006/11/09
# Line 2479  Line 2482 
2482  +  +
2483  [grid="none",frame="none",width="80%",cols=">3,^1,<3,<6"]  [grid="none",frame="none",width="80%",cols=">3,^1,<3,<6"]
2484  |===========================================================  |===========================================================
2485  |  +config+                   | => | +config+              |  |  `config`                   | => | `config`              |
2486  |                             |    |                       |  |                             |    |                       |
2487  |  +src/cm+                   | => | +base/cm+             |  |  `src/cm`                   | => | `base/cm`             |
2488  |  +src/compiler+             | => | +base/compiler+       |  |  `src/compiler`             | => | `base/compiler`       |
2489  |  +src/runtime+              | => | +base/runtime+        |  |  `src/runtime`              | => | `base/runtime`        |
2490  |  +src/system+               | => | +base/system+         |  |  `src/system`               | => | `base/system`         |
2491  |                             |    |                       |  |                             |    |                       |
2492  |  +src/cm/pgraph+            | => | +pgraph+              |  |  `src/cm/pgraph`            | => | `pgraph`              |
2493  |                             |    |                       |  |                             |    |                       |
2494  |  +src/READMES+              | => | +base/READMES+        |  |  `src/READMES`              | => | `base/READMES`        |
2495  |  ++src/$++__note__      | => | ++base/NOTES/$++__note__  |  `src/$`__note__      | => | `base/NOTES/$`__note__
2496  |     for _note_ in +BOOT+ +CVSNOTES+ +CYGWININSTALL+  |     for _note_ in `BOOT` `CVSNOTES` `CYGWININSTALL`
2497        +HISTORY+ +INSTALL+ +MACOSXINSTALL+ +WININSTALL+        `HISTORY` `INSTALL` `MACOSXINSTALL` `WININSTALL`
2498  |                             |    |                       |  |                             |    |                       |
2499  |  +src/smlnj-lib+            | => | +smlnj-lib+           |  |  `src/smlnj-lib`            | => | `smlnj-lib`           |
2500  |  +src/MLRISC+               | => | +MLRISC+              |  |  `src/MLRISC`               | => | `MLRISC`              |
2501  |  +ckit+                     | => | +ckit+                |  |  `ckit`                     | => | `ckit`                |
2502  |  +src/cml+                  | => | +cml+                 |  |  `src/cml`                  | => | `cml`                 |
2503  |  +src/eXene+                | => | +eXene+               |  |  `src/eXene`                | => | `eXene`               |
2504  |  +src/heap2asm+             | => | +heap2asm+            |  |  `src/heap2asm`             | => | `heap2asm`            |
2505  |  +src/lexgen+               | => | +lexgen+              |  |  `src/lexgen`               | => | `lexgen`              |
2506  |  +src/ml-burg+              | => | +ml-burg+             |  |  `src/ml-burg`              | => | `ml-burg`             |
2507  |  +src/ml-lex+               | => | +ml-lex+              |  |  `src/ml-lex`               | => | `ml-lex`              |
2508  |  +src/ml-yacc+              | => | +ml-yacc+             |  |  `src/ml-yacc`              | => | `ml-yacc`             |
2509  |  +src/ml-nlffi-lib+         | => | +nlffi/lib+           |  |  `src/ml-nlffi-lib`         | => | `nlffi/lib`           |
2510  |  +src/ml-nlffigen+          | => | +nlffi/gen+           |  |  `src/ml-nlffigen`          | => | `nlffi/gen`           |
2511  |  +src/smlnj-c+              | => | +smlnj-c+             |  |  `src/smlnj-c`              | => | `smlnj-c`             |
2512  |  +src/tools/TraceDebugProf+ | => | +trace-debug-profile+ |  |  `src/tools/TraceDebugProf` | => | `trace-debug-profile` |
2513  |===========================================================  |===========================================================
2514  +  +
2515  (All pathnames are relative to the SML/NJ "root" directory.)  (All pathnames are relative to the SML/NJ "root" directory.)
# Line 2545  Line 2548 
2548  and refresh-al.sh scripts apply "svn stat" or "svn update" to  and refresh-al.sh scripts apply "svn stat" or "svn update" to
2549  each of these subtrees.  each of these subtrees.
2550  +  +
2551  owner:[Matthias Blume,http://www.tti-c.org/blume/]  owner:www.tti-c.org/blume/[Matthias Blume]
2552    
2553  //--------------------------------------------------------------------  //--------------------------------------------------------------------
2554  [2006/11/02]::  [2006/11/02]::
# Line 2576  Line 2579 
2579  [frame="none",width="90%",cols="<2,<3",options="header"]  [frame="none",width="90%",cols="<2,<3",options="header"]
2580  |===========================================================  |===========================================================
2581  | toplevel tree name | default repository  | toplevel tree name | default repository
2582                         (using +svn://smlnj-gforge.cs.uchicago.edu/smlnj+ for +$gf+)                         (using `svn://smlnj-gforge.cs.uchicago.edu/smlnj` for `$gf`)
2583  +  +
2584  | +config+           | +$gf/config/trunk+  | `config`           | `$gf/config/trunk`
2585  +  +
2586  | +base+             | +$gf/sml/trunk+  | `base`             | `$gf/sml/trunk`
2587  +  +
2588  | +smlnj-lib+        | +$gf/smlnj-lib/trunk+  | `smlnj-lib`        | `$gf/smlnj-lib/trunk`
2589  | +MLRISC+           | +$gf/MLRISC/trunk+  | `MLRISC`           | `$gf/MLRISC/trunk`
2590  +  +
2591  | +ml-yacc+          | +$gf/ml-yacc/trunk+  | `ml-yacc`          | `$gf/ml-yacc/trunk`
2592  | +ml-lex+           | +$gf/ml-lex/trunk+  | `ml-lex`           | `$gf/ml-lex/trunk`
2593  | +ml-burg+          | +$gf/ml-burg/trunk+  | `ml-burg`          | `$gf/ml-burg/trunk`
2594  | +lexgen+           | +$gf/lexgen/trunk+  | `lexgen`           | `$gf/lexgen/trunk`
2595  | +heap2asm+         | +$gf/heap2asm/trunk+  | `heap2asm`         | `$gf/heap2asm/trunk`
2596  +  +
2597  | +cml+              | +$gf/cml/trunk+  | `cml`              | `$gf/cml/trunk`
2598  | +eXene+            | +$gf/eXene/trunk+  | `eXene`            | `$gf/eXene/trunk`
2599  | +ckit+             | +$gf/ckit/trunk+  | `ckit`             | `$gf/ckit/trunk`
2600  | +nlffi+            | +$gf/nlffi/trunk+  | `nlffi`            | `$gf/nlffi/trunk`
2601  +  +
2602  | +smlnj-c+          | +$gf/smlnj-c/trunk+  | `smlnj-c`          | `$gf/smlnj-c/trunk`
2603  |===========================================================  |===========================================================
2604  +  +
2605  In +$gf/admin+ there are a few useful shell scripts for checking out  In `$gf/admin` there are a few useful shell scripts for checking out
2606  and maintaining the entire collection of trees:  and maintaining the entire collection of trees:
2607  +  +
2608  --  --
2609  +admin/checkout-all.sh+ [__dir__]::  `admin/checkout-all.sh` [__dir__]::
2610  +  +
2611  optionally creates _dir_ and checks out all trees from their  optionally creates _dir_ and checks out all trees from their
2612  default repositories; if _dir_ is missing, checkout into the  default repositories; if _dir_ is missing, checkout into the
2613  current working directory.  current working directory.
2614  +  +
2615  +admin/refresh-all.sh+ [__dir__]::  `admin/refresh-all.sh` [__dir__]::
2616  looks at all trees (from the above list) in _dir_ (default: .)  looks at all trees (from the above list) in _dir_ (default: .)
2617  and runs "+svn update+" if the tree exists and is under  and runs "`svn update`" if the tree exists and is under
2618  subversion control;  subversion control;
2619  non-existing or non-subversion trees are skipped  non-existing or non-subversion trees are skipped
2620  +  +
2621  +admin/stat-all.sh+ [__dir__]::  `admin/stat-all.sh` [__dir__]::
2622  like +refresh-all.sh+, but runs "+svn stat+" instead  like `refresh-all.sh`, but runs "`svn stat`" instead
2623  --  --
2624  +  +
2625  owner:[Matthias Blume,http://www.tti-c.org/blume/]  owner:www.tti-c.org/blume/[Matthias Blume]
2626    
2627  //--------------------------------------------------------------------  //--------------------------------------------------------------------
2628  [2006/10/05]::  [2006/10/05]::
# Line 2627  Line 2630 
2630  Merged code for AMD64 backend (Mike Rainey's work).  Merged code for AMD64 backend (Mike Rainey's work).
2631  Everything is hooked up but untested.  Everything is hooked up but untested.
2632  +  +
2633  owner:[Matthias Blume,http://www.tti-c.org/blume/]  owner:www.tti-c.org/blume/[Matthias Blume]
2634    
2635  //====================================================================  //====================================================================
2636  == Version 110.59; 2006/05/17  == Version 110.59; 2006/05/17
# Line 2660  Line 2663 
2663  +  +
2664  CML::  CML::
2665  +  +
2666  Fixed a bug in the +SyncVar+ polling functions (+iGetPoll+,  Fixed a bug in the `SyncVar` polling functions (`iGetPoll`,
2667  +mTakePoll+, and +mGetPoll+) that could lead to livelock.  `mTakePoll`, and `mGetPoll`) that could lead to livelock.
2668  --  --
2669  +  +
2670  owner:[Matthias Blume,http://www.tti-c.org/blume/]  owner:www.tti-c.org/blume/[Matthias Blume]
2671    
2672  //--------------------------------------------------------------------  //--------------------------------------------------------------------
2673  [2006/05/12]::  [2006/05/12]::
# Line 2672  Line 2675 
2675  Implemented *ml-makedepend* (_i.e._, CM.sources) in a better (more robust)  Implemented *ml-makedepend* (_i.e._, CM.sources) in a better (more robust)
2676  way.  This should hopefully fix the *ml-makedepend* problem permanently.  way.  This should hopefully fix the *ml-makedepend* problem permanently.
2677  +  +
2678  owner:[Matthias Blume,http://www.tti-c.org/blume/]  owner:www.tti-c.org/blume/[Matthias Blume]
2679    
2680  //--------------------------------------------------------------------  //--------------------------------------------------------------------
2681  [2006/05/12]::  [2006/05/12]::
# Line 2681  Line 2684 
2684  spurious dependency to a non-existing file.  (This is a simple fix.  spurious dependency to a non-existing file.  (This is a simple fix.
2685  It might need further looking into.)  It might need further looking into.)
2686  +  +
2687  owner:[Matthias Blume,http://www.tti-c.org/blume/]  owner:www.tti-c.org/blume/[Matthias Blume]
2688    
2689  //--------------------------------------------------------------------  //--------------------------------------------------------------------
2690  [2006/04/20]::  [2006/04/20]::
2691  +  +
2692  Committed patches received from Johannes 5 Joemann (joemann@befree.free.de)  Committed patches received from Johannes 5 Joemann (joemann@befree.free.de)
2693  that enable *heap2exec* under +Linux+ and +FreeBSD+.  that enable *heap2exec* under `Linux` and `FreeBSD`.
2694  +  +
2695  owner:[Matthias Blume,http://www.tti-c.org/blume/]  owner:www.tti-c.org/blume/[Matthias Blume]
2696    
2697  //--------------------------------------------------------------------  //--------------------------------------------------------------------
2698  [2006/04/14]::  [2006/04/14]::
# Line 2697  Line 2700 
2700  MLRISC changes:  MLRISC changes:
2701  +  +
2702  --  --
2703  . renamed +GAS_PSEUDO_OPS+ to +AS_PSEUDO_OPS+ and put it in its own file.  . renamed `GAS_PSEUDO_OPS` to `AS_PSEUDO_OPS` and put it in its own file.
2704  . added support for +NOTB+ and +XORB+ operators in pseudo-op expressions  . added support for `NOTB` and `XORB` operators in pseudo-op expressions
2705  . added +DarwinPseudoOp+ functor that supports Darwin's assembler syntax.  . added `DarwinPseudoOp` functor that supports Darwin's assembler syntax.
2706  . added support for 64-bit integer literals  . added support for 64-bit integer literals
2707  --  --
2708  +  +
2709  owner:[John Reppy,http://www.cs.uchicago.edu/~jhr]  owner:www.cs.uchicago.edu/~jhr[John Reppy]
2710    
2711  //====================================================================  //====================================================================
2712  == Version 110.58; 2006/03/03  == Version 110.58; 2006/03/03
# Line 2715  Line 2718 
2718  Incorporated several bugfixes to *lexgen*.  Compiler now compiles to  Incorporated several bugfixes to *lexgen*.  Compiler now compiles to
2719  fixpoint when using lexgen instead of *ml-lex*.  fixpoint when using lexgen instead of *ml-lex*.
2720  +  +
2721  owner:[Matthias Blume,http://www.tti-c.org/blume/]  owner:www.tti-c.org/blume/[Matthias Blume]
2722    
2723  //--------------------------------------------------------------------  //--------------------------------------------------------------------
2724  [2006/02/28]::  [2006/02/28]::
# Line 2723  Line 2726 
2726  Removed *ml-flex* and added *lexgen* instead, using Aaron Turon's newly  Removed *ml-flex* and added *lexgen* instead, using Aaron Turon's newly
2727  provided tarball.  The generated lexers still have problems.  provided tarball.  The generated lexers still have problems.
2728  +  +
2729  owner:[Matthias Blume,http://www.tti-c.org/blume/]  owner:www.tti-c.org/blume/[Matthias Blume]
2730    
2731  //--------------------------------------------------------------------  //--------------------------------------------------------------------
2732  [2006/02/26]::  [2006/02/26]::
# Line 2731  Line 2734 
2734  Removed *ml-flex*'s dependency on *regexp-lib.cm*.  Turned installation  Removed *ml-flex*'s dependency on *regexp-lib.cm*.  Turned installation
2735  of *ml-flex* on by default.  of *ml-flex* on by default.
2736  +  +
2737  owner:[Matthias Blume,http://www.tti-c.org/blume/]  owner:www.tti-c.org/blume/[Matthias Blume]
2738    
2739  //--------------------------------------------------------------------  //--------------------------------------------------------------------
2740  [2006/02/24]::  [2006/02/24]::
2741  +  +
2742  Added *ml-flex* sources.  Partially integrated, but should not be  Added *ml-flex* sources.  Partially integrated, but should not be
2743  turned on yet!  (Read: leave it commented-out in ++config/targets++!)  turned on yet!  (Read: leave it commented-out in `config/targets`!)
2744  +  +
2745  owner:[Matthias Blume,http://www.tti-c.org/blume/]  owner:www.tti-c.org/blume/[Matthias Blume]
2746    
2747  //--------------------------------------------------------------------  //--------------------------------------------------------------------
2748  [2006/02/23]::  [2006/02/23]::
# Line 2748  Line 2751 
2751  Also cleaned up signal handling on *Linux*.  Support for pre-2.2 *Linux*  Also cleaned up signal handling on *Linux*.  Support for pre-2.2 *Linux*
2752  kernels dropped.  kernels dropped.
2753  +  +
2754  owner:[John Reppy,http://www.cs.uchicago.edu/~jhr]  owner:www.cs.uchicago.edu/~jhr[John Reppy]
2755    
2756  //--------------------------------------------------------------------  //--------------------------------------------------------------------
2757  [2006/02/22]::  [2006/02/22]::
# Line 2756  Line 2759 
2759  *CM* has changed.  Updated the script for rebuilding the *MLRISC* generated  *CM* has changed.  Updated the script for rebuilding the *MLRISC* generated
2760  files.  files.
2761  +  +
2762  owner:[Allen Leung]  owner:smlnj.org[Allen Leung]
2763    
2764  //--------------------------------------------------------------------  //--------------------------------------------------------------------
2765  [2006/02/14]::  [2006/02/14]::
# Line 2766  Line 2769 
2769  compiler itself does not use NLFFI.  Eventually we need to divorce  compiler itself does not use NLFFI.  Eventually we need to divorce
2770  intel mac from generic x86 unix code and make separate sets of binaries.)  intel mac from generic x86 unix code and make separate sets of binaries.)
2771  +  +
2772  owner:[Matthias Blume,http://www.tti-c.org/blume/]  owner:www.tti-c.org/blume/[Matthias Blume]
2773    
2774  //--------------------------------------------------------------------  //--------------------------------------------------------------------
2775  [2006/02/13]::  [2006/02/13]::
2776  +  +
2777  Changed *MLRISC* x86 +CCalls+ for partial support of *Mac OS X* ABI.  Changed *MLRISC* x86 `CCalls` for partial support of *Mac OS X* ABI.
2778  +  +
2779  owner:[John Reppy,http://www.cs.uchicago.edu/~jhr]  owner:www.cs.uchicago.edu/~jhr[John Reppy]
2780    
2781  //--------------------------------------------------------------------  //--------------------------------------------------------------------
2782  [2006/02/06]::  [2006/02/06]::
# Line 2781  Line 2784 
2784  Changes to support *Mac OS X* on Intel hardware.  The C-calls support in  Changes to support *Mac OS X* on Intel hardware.  The C-calls support in
2785  MLRISC must also be updated to support the *Mac OS X* ABI.  MLRISC must also be updated to support the *Mac OS X* ABI.
2786  +  +
2787  owner:[John Reppy,http://www.cs.uchicago.edu/~jhr]  owner:www.cs.uchicago.edu/~jhr[John Reppy]
2788    
2789  //--------------------------------------------------------------------  //--------------------------------------------------------------------
2790  [2005/12/16]::  [2005/12/16]::
2791  +  +
2792  Improved error reporting and handling in *CM*.  Improved error reporting and handling in *CM*.
2793  +  +
2794  owner:[Matthias Blume,http://www.tti-c.org/blume/]  owner:www.tti-c.org/blume/[Matthias Blume]
2795    
2796  //--------------------------------------------------------------------  //--------------------------------------------------------------------
2797  [2005/11/21]::  [2005/11/21]::
2798  +  +
2799  Enabling +$/html-lib.cm+ in +config/preloads+ did not work.  This is fixed  Enabling `$/html-lib.cm` in `config/preloads` did not work.  This is fixed
2800  now.  (Since the anchor mapping for +html-lib.cm+ is not yet in effect  now.  (Since the anchor mapping for `html-lib.cm` is not yet in effect
2801  at the time when +config/preloads+ is processed, the library has to  at the time when `config/preloads` is processed, the library has to
2802  be referred to by another name.  In 110.57 this would be  be referred to by another name.  In 110.57 this would be
2803  +$SMLNJ-LIB/HTML/html-lib.cm+.  I arranged for +$smlnj/smlnj-lib/html-lib.cm+  `$SMLNJ-LIB/HTML/html-lib.cm`.  I arranged for `$smlnj/smlnj-lib/html-lib.cm`
2804  to be valid as well.)  to be valid as well.)
2805  +  +
2806  Thanks to Todd Wilson (Fresno) for alerting me to this issue.  Thanks to Todd Wilson (Fresno) for alerting me to this issue.
2807  +  +
2808  owner:[Matthias Blume,http://www.tti-c.org/blume/]  owner:www.tti-c.org/blume/[Matthias Blume]
2809    
2810  //====================================================================  //====================================================================
2811  == Version 110.57; 2005/11/19  == Version 110.57; 2005/11/19
# Line 2811  Line 2814 
2814  //--------------------------------------------------------------------  //--------------------------------------------------------------------
2815  [2005/11/19]::  [2005/11/19]::
2816  +  +
2817  Fixed a problem in +config/install.sh+ where it tries to "fish" the  Fixed a problem in `config/install.sh` where it tries to "fish" the
2818  name of the *CM* metadata directory from the wrong place (because  name of the *CM* metadata directory from the wrong place (because
2819  the physical location of +basis.cm+ has changed).  Also, corrected the  the physical location of `basis.cm` has changed).  Also, corrected the
2820  path anchor for +$/html-lib.cm+.  (Thanks to M. Fluet for pointing out  path anchor for `$/html-lib.cm`.  (Thanks to M. Fluet for pointing out
2821  these problems.)  these problems.)
2822  +  +
2823  owner:[Matthias Blume,http://www.tti-c.org/blume/]  owner:www.tti-c.org/blume/[Matthias Blume]
2824    
2825  //====================================================================  //====================================================================
2826  == Version 110.57; 2005/11/16  == Version 110.57; 2005/11/16
# Line 2829  Line 2832 
2832  Fixed problem with bogus exception message when using back-trace  Fixed problem with bogus exception message when using back-trace
2833  facility.  facility.
2834  +  +
2835  owner:[Matthias Blume,http://www.tti-c.org/blume/]  owner:www.tti-c.org/blume/[Matthias Blume]
2836    
2837  //--------------------------------------------------------------------  //--------------------------------------------------------------------
2838  [2005/11/15]::  [2005/11/15]::
2839  +  +
2840  Added simple implementation of +Array2.copy+.  (Warning: mostly untested.)  Added simple implementation of `Array2.copy`.  (Warning: mostly untested.)
2841  +  +
2842  owner:[Matthias Blume,http://www.tti-c.org/blume/]  owner:www.tti-c.org/blume/[Matthias Blume]
2843    
2844  //--------------------------------------------------------------------  //--------------------------------------------------------------------
2845  [2005/11/15]::  [2005/11/15]::
2846  +  +
2847  Reversed change to +src/system/smlnj/internals/versiontool.cm+.  This  Reversed change to `src/system/smlnj/internals/versiontool.cm`.  This
2848  file gets loaded as a tool -- by the equivalent of CM.make during the  file gets loaded as a tool -- by the equivalent of CM.make during the
2849  run of +CMB.make+.  Thus, CMB's path configuration is meaningless for  run of `CMB.make`.  Thus, CMB's path configuration is meaningless for
2850  it.  Instead, it has the status of "user code", so it should use  it.  Instead, it has the status of "user code", so it should use
2851  +$/basis.cm+ to refer to the Basis library.  (At least that's true for  `$/basis.cm` to refer to the Basis library.  (At least that's true for
2852  the purpose of bootstrapping the previous change.  In the future it  the purpose of bootstrapping the previous change.  In the future it
2853  might make sense to have +versiontool.cm+ refer to  might make sense to have `versiontool.cm` refer to
2854  +$smlnj/basis/basis.cm+, _i.e._, the version of the Basis that the  `$smlnj/basis/basis.cm`, _i.e._, the version of the Basis that the
2855  compiler itself uses.)  compiler itself uses.)
2856  +  +
2857  Also patched +src/system/testml+ to have it activate those extra anchor  Also patched `src/system/testml` to have it activate those extra anchor
2858  bindings in +config/extrapathconfig+.  bindings in `config/extrapathconfig`.
2859  +  +
2860  owner:[Matthias Blume,http://www.tti-c.org/blume/]  owner:www.tti-c.org/blume/[Matthias Blume]
2861    
2862  //--------------------------------------------------------------------  //--------------------------------------------------------------------
2863  [2005/11/15]::  [2005/11/15]::
# Line 2897  Line 2900 
2900  responsible for setting up path anchors that the compiler itself does  responsible for setting up path anchors that the compiler itself does
2901  not need, but that are typically required by user code.  not need, but that are typically required by user code.
2902  +  +
2903  owner:[Matthias Blume,http://www.tti-c.org/blume/]  owner:www.tti-c.org/blume/[Matthias Blume]
2904    
2905  //--------------------------------------------------------------------  //--------------------------------------------------------------------
2906  [2005/11/07]::  [2005/11/07]::
2907  +  +
2908  Fixed erroneous out-of-bounds test in the "+update+" function of  Fixed erroneous out-of-bounds test in the "`update`" function of
2909  various *++ArraySlice++ modules.  (Thanks to Vesa A. Norrman for pointing  various *`ArraySlice` modules.  (Thanks to Vesa A. Norrman for pointing
2910  out the problem.)  out the problem.)
2911  +  +
2912  Pushed some Basis changes through ML-Lex, CML, and eXene.  Pushed some Basis changes through ML-Lex, CML, and eXene.
2913  +  +
2914  owner:[Matthias Blume]  owner:www.tti-c.org/~blume[Matthias Blume]
2915    
2916  //--------------------------------------------------------------------  //--------------------------------------------------------------------
2917  [2005/11/07]::  [2005/11/07]::
2918  +  +
2919  Fixed a Basis incompatibility: The depreciated function +Substring.all+  Fixed a Basis incompatibility: The depreciated function `Substring.all`
2920  was removed (use +Substring.full+ instead).  was removed (use `Substring.full` instead).
2921  +  +
2922  owner:[John Reppy,http://www.cs.uchicago.edu/~jhr]  owner:www.cs.uchicago.edu/~jhr[John Reppy]
2923    
2924  //--------------------------------------------------------------------  //--------------------------------------------------------------------
2925  [2005/11/05]::  [2005/11/05]::
2926  +  +
2927  Tweaked interval set API in SML/NJ library; see the CHANGES file for details.  Tweaked interval set API in SML/NJ library; see the CHANGES file for details.
2928  +  +
2929  owner:[John Reppy,http://www.cs.uchicago.edu/~jhr]  owner:www.cs.uchicago.edu/~jhr[John Reppy]
2930    
2931  //--------------------------------------------------------------------  //--------------------------------------------------------------------
2932  [2005/11/02]::  [2005/11/02]::
# Line 2931  Line 2934 
2934  --  --
2935  * Runtime system bootstrap code now accepts hex digits in BOOTLIST  * Runtime system bootstrap code now accepts hex digits in BOOTLIST
2936    in either upper case or lower case format.    in either upper case or lower case format.
2937  * Pushed changes to names of ++Pack++<__N__>{++Big++,++Little++}  * Pushed changes to names of `Pack`<__N__>{`Big`,`Little`}
2938    structures through    structures through
2939    CML and eXene.    CML and eXene.
2940  --  --
2941  +  +
2942  owner:[Matthias Blume,http://www.tti-c.org/blume/]  owner:www.tti-c.org/blume/[Matthias Blume]
2943    
2944  //--------------------------------------------------------------------  //--------------------------------------------------------------------
2945  [2005/11/02]::  [2005/11/02]::
2946  +  +
2947  Fixed a Basis incompatibility: ++Pack++<__N__>{++Big++,++Little++}  Fixed a Basis incompatibility: `Pack`<__N__>{`Big`,`Little`}
2948  structures should be named ++PackWord++<__N__>{++Big++,++Little++}.  structures should be named `PackWord`<__N__>{`Big`,`Little`}.
2949  +  +
2950  owner:[John Reppy,http://www.cs.uchicago.edu/~jhr]  owner:www.cs.uchicago.edu/~jhr[John Reppy]
2951    
2952  //--------------------------------------------------------------------  //--------------------------------------------------------------------
2953  [2005/10/28]::  [2005/10/28]::
2954  +  +
2955  Fixed a minor Basis incompatibility: hex digits should be upper case.  Fixed a minor Basis incompatibility: hex digits should be upper case.
2956  +  +
2957  owner:[John Reppy,http://www.cs.uchicago.edu/~jhr]  owner:www.cs.uchicago.edu/~jhr[John Reppy]
2958    
2959  //====================================================================  //====================================================================
2960  == Version 110.56; 2005/10/25  == Version 110.56; 2005/10/25
# Line 2960  Line 2963 
2963  //--------------------------------------------------------------------  //--------------------------------------------------------------------
2964  [2005/10/25]::  [2005/10/25]::
2965  +  +
2966  Added interval sets to utility library (signatures +INTERVAL_DOMAIN+  Added interval sets to utility library (signatures `INTERVAL_DOMAIN`
2967  and +INTERVAL_SET+, and functor +IntervalSetFn+).  and `INTERVAL_SET`, and functor `IntervalSetFn`).
2968  +  +
2969  owner:[John Reppy,http://www.cs.uchicago.edu/~jhr]  owner:www.cs.uchicago.edu/~jhr[John Reppy]
2970    
2971  //--------------------------------------------------------------------  //--------------------------------------------------------------------
2972  [2005/10/14]::  [2005/10/14]::
2973  +  +
2974  Add Zhong Shao's fix for datatype equality functions.  Add Zhong Shao's fix for datatype equality functions.
2975  +  +
2976  owner:[John Reppy,http://www.cs.uchicago.edu/~jhr]  owner:www.cs.uchicago.edu/~jhr[John Reppy]
2977    
2978  //--------------------------------------------------------------------  //--------------------------------------------------------------------
2979  [2005/10/14]::  [2005/10/14]::
2980  +  +
2981  Bug fix a bug found by Carl Hauser.  Bug fix a bug found by Carl Hauser.
2982  There was a typo in the reload code for +FCMP+ in +x86SpillInstr.sml+.  There was a typo in the reload code for `FCMP` in `x86SpillInstr.sml`.
2983  +  +
2984  owner:[Allen Leung]  owner:smlnj.org[Allen Leung]
2985    
2986  //--------------------------------------------------------------------  //--------------------------------------------------------------------
2987  [2005/10/14]::  [2005/10/14]::
2988  +  +
2989  Removed some debugging code in file +x86Asm.sml+.  Removed some debugging code in file `x86Asm.sml`.
2990  The function emit_operand was printing out debugging output.  The function emit_operand was printing out debugging output.
2991  +  +
2992  owner:[Allen Leung]  owner:smlnj.org[Allen Leung]
2993    
2994  //--------------------------------------------------------------------  //--------------------------------------------------------------------
2995  [2005/07/27]::  [2005/07/27]::
2996  +  +
2997  Fixed *ml-lex* to recognize "+\r+" as representing carriage return.  Fixed *ml-lex* to recognize "`\r`" as representing carriage return.
2998  +  +
2999  owner:[John Reppy,http://www.cs.uchicago.edu/~jhr]  owner:www.cs.uchicago.edu/~jhr[John Reppy]
3000    
3001  //--------------------------------------------------------------------  //--------------------------------------------------------------------
3002  [2005/07/27]::  [2005/07/27]::
# Line 3001  Line 3004 
3004  Fixed *ml-yacc* to work on files with non-native end-of-line  Fixed *ml-yacc* to work on files with non-native end-of-line
3005  encodings (_e.g._, Windows text file on a Unix system).  encodings (_e.g._, Windows text file on a Unix system).
3006  +  +
3007  owner:[John Reppy,http://www.cs.uchicago.edu/~jhr]  owner:www.cs.uchicago.edu/~jhr[John Reppy]
3008    
3009  //--------------------------------------------------------------------  //--------------------------------------------------------------------
3010  [2005/07/20]::  [2005/07/20]::
# Line 3009  Line 3012 
3012  Added changes from Dominic Evans (oldmanuk (at) gmail (dot) com)  Added changes from Dominic Evans (oldmanuk (at) gmail (dot) com)
3013  to support *HPUX 11*.  to support *HPUX 11*.
3014  +  +
3015  owner:[John Reppy,http://www.cs.uchicago.edu/~jhr]  owner:www.cs.uchicago.edu/~jhr[John Reppy]
3016    
3017  //--------------------------------------------------------------------  //--------------------------------------------------------------------
3018  [2005/07/06]::  [2005/07/06]::
3019  +  +
3020  Changes to the *SML/NJ Library*.  See smlnj-lib/CHANGES for details.  Changes to the *SML/NJ Library*.  See smlnj-lib/CHANGES for details.
3021  +  +
3022  owner:[John Reppy,http://www.cs.uchicago.edu/~jhr]  owner:www.cs.uchicago.edu/~jhr[John Reppy]
3023    
3024  //--------------------------------------------------------------------  //--------------------------------------------------------------------
3025  [2005/07/06]::  [2005/07/06]::
3026  +  +
3027  Fixed reversed logic for deciding whether to "copy up" or "copy down"  Fixed reversed logic for deciding whether to "copy up" or "copy down"
3028  in *++-array-slice.sml++.  in *`-array-slice.sml`.
3029  +  +
3030  owner:[Matthias Blume,http://www.tti-c.org/blume/]  owner:www.tti-c.org/blume/[Matthias Blume]
3031    
3032  //--------------------------------------------------------------------  //--------------------------------------------------------------------
3033  [2005/05/31]::  [2005/05/31]::
3034  +  +
3035  A typo in the Cygwin code fixed.  A typo in the Cygwin code fixed.
3036  +  +
3037  owner:[Allen Leung]  owner:smlnj.org[Allen Leung]
3038    
3039  //--------------------------------------------------------------------  //--------------------------------------------------------------------
3040  [2005/05/31]::  [2005/05/31]::
# Line 3039  Line 3042 
3042  Updated Cygwin's fault/signal handling to match the Windows version.  Updated Cygwin's fault/signal handling to match the Windows version.
3043  Updated the export list.  Updated the export list.
3044  +  +
3045  owner:[Allen Leung]  owner:smlnj.org[Allen Leung]
3046    
3047  //====================================================================  //====================================================================
3048  == Version 110.54; 2005/05/18  == Version 110.54; 2005/05/18
# Line 3049  Line 3052 
3052  [2005/05/18]::  [2005/05/18]::
3053  +  +
3054  Added support scripts for *Mac OS X PackageMaker* and modified  Added support scripts for *Mac OS X PackageMaker* and modified
3055  +config/install.sh+ so that it supports re-dumping a heap image  `config/install.sh` so that it supports re-dumping a heap image
3056  after customization.  after customization.
3057  +  +
3058  owner:[Matthias Blume,http://www.tti-c.org/blume/]  owner:www.tti-c.org/blume/[Matthias Blume]
3059    
3060  //--------------------------------------------------------------------  //--------------------------------------------------------------------
3061  [2005/05/18]::  [2005/05/18]::
3062  +  +
3063  Un-overloaded / to work around bug in overloading resolution code.  Un-overloaded / to work around bug in overloading resolution code.
3064  +  +
3065  owner:[Matthias Blume,http://www.tti-c.org/blume/]  owner:www.tti-c.org/blume/[Matthias Blume]
3066    
3067  //--------------------------------------------------------------------  //--------------------------------------------------------------------
3068  [2005/05/16]::  [2005/05/16]::
# Line 3072  Line 3075 
3075     CM.redump_heap : string -> unit     CM.redump_heap : string -> unit
3076  ------------  ------------
3077  +  +
3078  This is much like +SMLofNJ.exportML+, but starting from the resulting  This is much like `SMLofNJ.exportML`, but starting from the resulting
3079  heap does not return to the caller of +CM.redump_heap+ but  heap does not return to the caller of `CM.redump_heap` but
3080  restarts the interactive system from scratch.  The original call of  restarts the interactive system from scratch.  The original call of
3081  +CM.redump_heap+ does not return but ends the interactive session.  `CM.redump_heap` does not return but ends the interactive session.
3082  Thus, +CM.redump_heap+ is a lot like +SMLofNJ.exportFn+.  Thus, `CM.redump_heap` is a lot like `SMLofNJ.exportFn`.
3083  +  +
3084  Internally, +redump_heap+ winds the dynamic execution context back to  Internally, `redump_heap` winds the dynamic execution context back to
3085  the point where the original heap image was created and re-executes  the point where the original heap image was created and re-executes
3086  the heap image generation code in the boot code.  the heap image generation code in the boot code.
3087  +  +
3088  owner:[Matthias Blume,http://www.tti-c.org/blume/]  owner:www.tti-c.org/blume/[Matthias Blume]
3089    
3090  //--------------------------------------------------------------------  //--------------------------------------------------------------------
3091  [2005/05/09]::  [2005/05/09]::
3092  +  +
3093  Added a hack to the existing hack known as +Word64+ to make +fromString+  Added a hack to the existing hack known as `Word64` to make `fromString`
3094  behave correctly.  I am still not sure whether +Word64.scan+ will work  behave correctly.  I am still not sure whether `Word64.scan` will work
3095  as specified with respect to the interaction of radix and prefix.  as specified with respect to the interaction of radix and prefix.
3096  +  +
3097  owner:[Matthias Blume,http://www.tti-c.org/blume/]  owner:www.tti-c.org/blume/[Matthias Blume]
3098    
3099  //--------------------------------------------------------------------  //--------------------------------------------------------------------
3100  [2005/05/04]::  [2005/05/04]::
# Line 3099  Line 3102 
3102  Added a gc protocol checking phase.  This phase is enabled with  Added a gc protocol checking phase.  This phase is enabled with
3103  the flag "check-gc".  "debug-check-gc" turns on the verbose mode.  the flag "check-gc".  "debug-check-gc" turns on the verbose mode.
3104  +  +
3105  owner:[Allen Leung]  owner:smlnj.org[Allen Leung]
3106    
3107  //--------------------------------------------------------------------  //--------------------------------------------------------------------
3108  [2005/05/04]::  [2005/05/04]::
3109  +  +
3110  Fixed a bug in the implementation of +div+ and +mod+ for +IntInf+.  Fixed a bug in the implementation of `div` and `mod` for `IntInf`.
3111  Thanks to Neophytos Michael for reporting the problem.  Thanks to Neophytos Michael for reporting the problem.
3112  +  +
3113  owner:[Matthias Blume,http://www.tti-c.org/blume/]  owner:www.tti-c.org/blume/[Matthias Blume]
3114    
3115  //--------------------------------------------------------------------  //--------------------------------------------------------------------
3116  [2005/05/04]::  [2005/05/04]::
3117  +  +
3118  Added the +join+ combinator to the +ParserComb+ module in the  Added the `join` combinator to the `ParserComb` module in the
3119  *SML/NJ Library*.  *SML/NJ Library*.
3120  +  +
3121  owner:[Matthias Blume,http://www.tti-c.org/blume/]  owner:www.tti-c.org/blume/[Matthias Blume]
3122    
3123  //--------------------------------------------------------------------  //--------------------------------------------------------------------
3124  [2005/02/28]::  [2005/02/28]::
3125  +  +
3126  Fixed serious bug (brown paper bag variety) in new implementation of  Fixed serious bug (brown paper bag variety) in new implementation of
3127  structure +Atom+ in *CML*.  (I had accidentally used a +mailbox+ instead of  structure `Atom` in *CML*.  (I had accidentally used a `mailbox` instead of
3128  an +mvar+, leaving the door open for races.)  an `mvar`, leaving the door open for races.)
3129  +  +
3130  owner:[Matthias Blume,http://www.tti-c.org/blume/]  owner:www.tti-c.org/blume/[Matthias Blume]
3131    
3132  //====================================================================  //====================================================================
3133  == Version 110.53; 2005/02/25  == Version 110.53; 2005/02/25
# Line 3133  Line 3136 
3136  //--------------------------------------------------------------------  //--------------------------------------------------------------------
3137  [2005/02/25]::  [2005/02/25]::
3138  +  +
3139  Brought back +SMLofNJ.Susp+.  The underlying suspension type is the one  Brought back `SMLofNJ.Susp`.  The underlying suspension type is the one
3140  implemented in Core, which means that it is the same as the one used  implemented in Core, which means that it is the same as the one used
3141  by the lazy extension.  by the lazy extension.
3142  +  +
3143  owner:[Matthias Blume,http://www.tti-c.org/blume/]  owner:www.tti-c.org/blume/[Matthias Blume]
3144    
3145  //--------------------------------------------------------------------  //--------------------------------------------------------------------
3146  [2005/02/24]::  [2005/02/24]::
3147  +  +
3148  Simpler and at the same time more general implementation of structure  Simpler and at the same time more general implementation of structure
3149  +Atom+ in *CML*.  `Atom` in *CML*.
3150  +  +
3151  owner:[Matthias Blume,http://www.tti-c.org/blume/]  owner:www.tti-c.org/blume/[Matthias Blume]
3152    
3153  //--------------------------------------------------------------------  //--------------------------------------------------------------------
3154  [2005/02/15]::  [2005/02/15]::
3155  +  +
3156  Created new "+tools+" directory under "+src+" and moved "+TraceDebugProf+"  Created new "`tools`" directory under "`src`" and moved "`TraceDebugProf`"
3157  there.  there.
3158  +  +
3159  owner:[Matthias Blume,http://www.tti-c.org/blume/]  owner:www.tti-c.org/blume/[Matthias Blume]
3160    
3161  //--------------------------------------------------------------------  //--------------------------------------------------------------------
3162  [2005/02/10]::  [2005/02/10]::
3163  +  +
3164  Implemented "+long long+" arguments and results for NLFFI.  (Only the  Implemented "`long long`" arguments and results for NLFFI.  (Only the
3165  PPC/MacOS implementation is complete, the other backends still need to  PPC/MacOS implementation is complete, the other backends still need to
3166  be updated.)  be updated.)
3167  +  +
3168  owner:[Matthias Blume,http://www.tti-c.org/blume/]  owner:www.tti-c.org/blume/[Matthias Blume]
3169    
3170  //--------------------------------------------------------------------  //--------------------------------------------------------------------
3171  [2005/01/24]::  [2005/01/24]::
# Line 3171  Line 3174 
3174  problem with certain "as" patterns which previously got rendered  problem with certain "as" patterns which previously got rendered
3175  using incorrect syntax.  using incorrect syntax.
3176  +  +
3177  owner:[Matthias Blume,http://www.tti-c.org/blume/]  owner:www.tti-c.org/blume/[Matthias Blume]
3178    
3179  //--------------------------------------------------------------------  //--------------------------------------------------------------------
3180  [2005/01/18]::  [2005/01/18]::
# Line 3179  Line 3182 
3182  Made time profiling code (interrupt handler) in runtime system aware  Made time profiling code (interrupt handler) in runtime system aware
3183  of new array representation.  of new array representation.
3184  +  +
3185  owner:[Matthias Blume,http://www.tti-c.org/blume/]  owner:www.tti-c.org/blume/[Matthias Blume]
3186    
3187  //--------------------------------------------------------------------  //--------------------------------------------------------------------
3188  [2005/01/14]::  [2005/01/14]::
# Line 3187  Line 3190 
3190  Implemented new (but still experimental) *heap2exec* facility.  This is  Implemented new (but still experimental) *heap2exec* facility.  This is
3191  tested under Mac OS X and should work under Linux (will test shortly).  tested under Mac OS X and should work under Linux (will test shortly).
3192  It will probably also work on the Sparc (will test some time later).  It will probably also work on the Sparc (will test some time later).
3193  Also removed old "+HACKED_STANDALONE+" hack from runtime  Also removed old "`HACKED_STANDALONE`" hack from runtime
3194  +  +
3195  To be able to test *heap2exec*, uncomment the request for "+heap2asm+" in  To be able to test *heap2exec*, uncomment the request for "`heap2asm`" in
3196  config/targets prior to installation.  (Notice that this is different  config/targets prior to installation.  (Notice that this is different
3197  from "heap2exec" mentioned below.  Not a typo.)  from "heap2exec" mentioned below.  Not a typo.)
3198  +  +
# Line 3203  Line 3206 
3206  +  +
3207    $ bin/heap2exec bin/.heap/ml-yacc.ppc-darwin mly    $ bin/heap2exec bin/.heap/ml-yacc.ppc-darwin mly
3208  +  +
3209  This will create a standalone executable called "+mly+" that you can  This will create a standalone executable called "`mly`" that you can
3210  then invoke directly as a command.  then invoke directly as a command.
3211  +  +
3212  owner:[Matthias Blume,http://www.tti-c.org/blume/]  owner:www.tti-c.org/blume/[Matthias Blume]
3213    
3214  //--------------------------------------------------------------------  //--------------------------------------------------------------------
3215  [2005/01/07]::  [2005/01/07]::
3216  +  +
3217  fixed off-by-one error in +ML_STRING+ macro (+globals.c+)  fixed off-by-one error in `ML_STRING` macro (`globals.c`)
3218  +  +
3219  owner:[Matthias Blume,http://www.tti-c.org/blume/]  owner:www.tti-c.org/blume/[Matthias Blume]
3220    
3221  //--------------------------------------------------------------------  //--------------------------------------------------------------------
3222  [2004/12/23]::  [2004/12/23]::
3223  +  +
3224  Made *ml-build* script "smarter" (but only very little).  Made *ml-build* script "smarter" (but only very little).
3225  +  +
3226  owner:[Matthias Blume,http://www.tti-c.org/blume/]  owner:www.tti-c.org/blume/[Matthias Blume]
3227    
3228  //--------------------------------------------------------------------  //--------------------------------------------------------------------
3229  [2004/12/21]::  [2004/12/21]::
# Line 3233  Line 3236 
3236    (On the Mac, it is big-endian.  And that's currently our only    (On the Mac, it is big-endian.  And that's currently our only
3237    *PPC* platform.)    *PPC* platform.)
3238  +  +
3239  owner:[Matthias Blume,http://www.tti-c.org/blume/]  owner:www.tti-c.org/blume/[Matthias Blume]
3240    
3241  //--------------------------------------------------------------------  //--------------------------------------------------------------------
3242  [2004/12/21]::  [2004/12/21]::
3243  +  +
3244  Some cleanup in the +$c/memory.cm+ library: separated some concerns by  Some cleanup in the `$c/memory.cm` library: separated some concerns by
3245  moving allocation code and memory access code each into their own  moving allocation code and memory access code each into their own
3246  files.  files.
3247  +  +
3248  owner:[Matthias Blume,http://www.tti-c.org/blume/]  owner:www.tti-c.org/blume/[Matthias Blume]
3249    
3250  //--------------------------------------------------------------------  //--------------------------------------------------------------------
3251  [2004/12/17]::  [2004/12/17]::
3252  +  +
3253  The Unix I/O library of SML/NJ on Cygwin does not understand  The Unix I/O library of SML/NJ on Cygwin does not understand
3254  Windows style pathname, so problems arise when +SMLNJ_HOME+ is set  Windows style pathname, so problems arise when `SMLNJ_HOME` is set
3255  to a Windows style pathname.  The _run-sml script now  to a Windows style pathname.  The _run-sml script now
3256  converts +SMLNJ_HOME+ to a POSIX pathname on Cygwin.  converts `SMLNJ_HOME` to a POSIX pathname on Cygwin.
3257  +  +
3258  owner:[Allen Leung]  owner:smlnj.org[Allen Leung]
3259    
3260  //--------------------------------------------------------------------  //--------------------------------------------------------------------
3261  [2004/12/16]::  [2004/12/16]::
# Line 3260  Line 3263 
3263  Last-minute changes incorporated into 110.52.  Release tag moved.  Last-minute changes incorporated into 110.52.  Release tag moved.
3264  +  +
3265  The changes:  The changes:
3266     - +HashString.hashString'+ -> +HashString.hashSubstring+     - `HashString.hashString'` -> `HashString.hashSubstring`
3267     - bug fix in +UnivariateStats+     - bug fix in `UnivariateStats`
3268  +  +
3269  owner:[Matthias Blume,http://www.tti-c.org/blume/]  owner:www.tti-c.org/blume/[Matthias Blume]
3270    
3271  //--------------------------------------------------------------------  //--------------------------------------------------------------------
3272  [2004/12/15]::  [2004/12/15]::
3273  +  +
3274  - +HashString.hashString' -> HashString.hashSubstring  - +HashString.hashString' -> HashString.hashSubstring
3275  - corresponding changes in +atom.sml+  - corresponding changes in `atom.sml`
3276  - "de-compressed" (aka. un-obfuscated) code for +UnivariateStats+ and  - "de-compressed" (aka. un-obfuscated) code for `UnivariateStats` and
3277    added some comments    added some comments
3278  +  +
3279  owner:[Matthias Blume,http://www.tti-c.org/blume/]  owner:www.tti-c.org/blume/[Matthias Blume]
3280    
3281  //====================================================================  //====================================================================
3282  == Version 110.52; 2004/12/15  == Version 110.52; 2004/12/15
# Line 3284  Line 3287 
3287  +  +
3288  More on the space problem (this time for *Win32*).  More on the space problem (this time for *Win32*).
3289  +  +
3290  owner:[Matthias Blume,http://www.tti-c.org/blume/]  owner:www.tti-c.org/blume/[Matthias Blume]
3291    
3292  //--------------------------------------------------------------------  //--------------------------------------------------------------------
3293  [2004/12/14]::  [2004/12/14]::
# Line 3294  Line 3297 
3297  is likely still full of bugs and inherently incomplete.  (We need to  is likely still full of bugs and inherently incomplete.  (We need to
3298  do away with those shell scripts for a comprehensive solution.)  do away with those shell scripts for a comprehensive solution.)
3299  +  +
3300  owner:[Matthias Blume,http://www.tti-c.org/blume/]  owner:www.tti-c.org/blume/[Matthias Blume]
3301    
3302  //--------------------------------------------------------------------  //--------------------------------------------------------------------
3303  [2004/12/13]::  [2004/12/13]::
3304  +  +
3305  Fixed bug in code for *ml-makedepend*.  Fixed bug in code for *ml-makedepend*.
3306  +  +
3307  owner:[Matthias Blume,http://www.tti-c.org/blume/]  owner:www.tti-c.org/blume/[Matthias Blume]
3308    
3309  //--------------------------------------------------------------------  //--------------------------------------------------------------------