Standard ML of New Jersey
Version 110.63.1 NEWS
May 3, 2007
WARNING
This working version is believed to be stable, and
has passed the regression test suite. However, there is
quite a bit of new code in the FLINT middle end and
at the interface between the Front End and FLINT, so
this is not considered a mature working release. We anticipate
that Version 110.64 will follow shortly, after further
testing and debugging.
- SML/NJ HOME:
- http://www.smlnj.org/index.html
- FILES:
-
http://smlnj.cs.uchicago.edu/dist/working/110.63.1/
Summary:
This release includes new code merged from the primop-branch-3 development
branch. Many of the changes affect FLINT and its interaction with the
front end, and particularly the system for supporting primops
(primitive operations).
Details:
- Front End and FLINT:
-
-
Implemented a new scheme for defining primops and tracking
and analyzing their types in the type checker and in FLINT.
Improved the way that the type checker captures type
information used by the translate phase to calculate
FLINT types.
-
Improved signature printing by making it faithfully reflect
the original order of specifications or (for inferred
signatures) definitions.
-
First phase of streamlining the type system of the plambda and flint
intermediate languages.
-
Fixed some bugs in the type checker and module system, and at
least one FLINT bug.
- SML Basis library:
-
-
Fixed a bug in the implementation of order operations
and min and max for Int32. Fixed several other bugs in the Basis
that were revealed by running the regression tests.
- ml-lpt:
-
- Preliminary commit of large ml-lpt revisions (more to come for 110.64).
The ml-antlr specification format has changed: declarations such as
%-tokens and nonterminal definitions can occur *multiple* times in the
same specification. The semantics are such that each new declaration
extends the previous ones. Grammar extension constructs have also
changed. We now allow type annotations on nonterminals. Finally,
the refcell construct is now implemented using SML's regular reference
cells, so the :== and !! notation has been deprecated. All of these
changes will appear in the 110.64 user guide for ml-lpt.
<\li>
-
The ml-antlr tool now does much more checking of specifications, and
its error messages have been greatly improved. There has also been
some work on the error repair process for generated parsers, but this
will be further improved in 110.64.
- Regression Tests:
-
-
Revised the regression test suite and brought the tests and
reference outputs up to date. Added a few new tests. Cleaned
up the test scripts.