Home My Page Projects Code Snippets Project Openings SML/NJ
Summary Activity Forums Tracker Lists Tasks Docs Surveys News SCM Files

SCM Repository

[smlnj] Annotation of /sml/branches/gatien-branch/READMES/110.64-README.html
ViewVC logotype

Annotation of /sml/branches/gatien-branch/READMES/110.64-README.html

Parent Directory Parent Directory | Revision Log Revision Log


Revision 3026 - (view) (download) (as text)

1 : jhr 2878 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2 :     <html>
3 :     <head>
4 :     <title>SML/NJ 110.64 NEWS</title>
5 :     </head>
6 :    
7 :     <body>
8 :     <div align="center">
9 :     <big><b>
10 :     Standard ML of New Jersey
11 :     <br/>
12 :     Version 110.64 NEWS
13 :     <br/>
14 :     May 31, 2007
15 :     <br/>
16 :     <br/>
17 :     </b>
18 :     <!--
19 :     WARNING
20 :     </b><br/>
21 :     This working version is believed to be stable, and
22 :     has passed the regression test suite. However, there is
23 :     quite a bit of new code in the FLINT middle end and
24 :     at the interface between the Front End and FLINT.
25 :     -->
26 :     </big>
27 :     </div>
28 :     <p>
29 :     <hr>
30 :    
31 :     <dl>
32 :     <dt>SML/NJ HOME:</dt>
33 :     <dd><a href="http://www.smlnj.org/index.html"><tt>http://www.smlnj.org/index.html</tt></a></dd>
34 :     <dt>FILES:</dt>
35 :     <dd><a href="http://smlnj.cs.uchicago.edu/dist/working/110.64/index.html">
36 :     <tt>http://smlnj.cs.uchicago.edu/dist/working/110.64/</tt></a></dd>
37 :     </dl>
38 :    
39 :     <hr>
40 :    
41 :     <h3>Summary:</h3>
42 :    
43 :     Many of the changes affect FLINT and its interaction with the
44 :     front end, and particularly the system for supporting primops
45 :     (primitive operations). Additional bugs have been fixed, and
46 :     ml-lpt as well as AMD64 support have been updated.
47 :    
48 :     <h3>Details:</h3>
49 :    
50 :     <dl>
51 :    
52 :     <dt>Front End and FLINT:</dt>
53 :     <dd>
54 :     <ul>
55 :     <li>
56 :     Implemented a new scheme for defining primops and tracking
57 :     and analyzing their types in the type checker and in FLINT.
58 :     Improved the way that the type checker captures type
59 :     information used by the translate phase to calculate
60 :     FLINT types.
61 :     </li>
62 :     <li>
63 :     Improved signature printing by making it faithfully reflect
64 :     the original order of specifications or (for inferred
65 :     signatures) definitions.
66 :     </li>
67 :     <li>
68 :     First phase of streamlining the type system of the plambda and flint
69 :     intermediate languages.
70 :     </li>
71 :     <li>
72 :     Fixed some bugs in the type checker and module system.
73 :     </li>
74 :     <li>
75 :     Infinite loop in FLINT (<tt>tests/typing/tests/25.sml</tt>)
76 :     (fix by Stefan Monnier).
77 :     </li>
78 :     <li>
79 :     Implemented integer and word division operations (div, mod,
80 :     rem, quot) with an explicit test for zero division. This
81 :     fixes several previously open bugs related to the treatment of
82 :     divide-by-zero errors.
83 :     </li>
84 :     </ul>
85 :     </dd>
86 :    
87 :     <dt>SML Basis library:</dt>
88 :     <dd>
89 :     <ul>
90 :     <li>
91 :     Fixed a bug in the implementation of order operations
92 :     and min and max for Int32. Fixed several other bugs in the Basis
93 :     that were revealed by running the regression tests.
94 :     </li>
95 :     <li>
96 :     A number of fixes related to the formatting of dates. These
97 :     include fixes for bugs #1415 and #1416. We also now correctly
98 :     handle format characters that lie outside the specified set.
99 :     </li>
100 :     <li>
101 :     Timer.cpu_timer, etc. type printing corrected (by making Timer
102 :     have opaque sig constraint in <tt>basis/Implementation/timer.sml</tt>)
103 :     </li>
104 :     <li>
105 :     Added missing <tt>toLarge</tt>/<tt>fromLarge</tt> operations to <tt>Word</tt><i>N</i> modules.
106 :     </li>
107 :     <li>
108 :     Added missing <tt>InvalidArc</tt> to <tt>OS.Path</tt>.
109 :     </li>
110 :     <li>
111 :     Fixed bug in printing negative time values.
112 :     </li>
113 :     <li>
114 :     <tt>Char.fromString</tt> now handles the <tt>\u</tt><i>xxxx</i> escape sequence.
115 :     </li>
116 :     </ul>
117 :     </dd>
118 :    
119 :     <dt>CM:</dt>
120 :     <dd>
121 :     <ul>
122 :     <li>
123 :     Added a boolean control named cm.tolerate-tool-failures
124 :     (env. variable name: CM_TOLERATE_TOOL_FAILURES). The default
125 :     is false and makes CM fail if a shell tool reports a
126 :     non-success exit status. If the control is set to true, then
127 :     CM will press on after tool failures in the event that all
128 :     target files exist (even when some of them are considered
129 :     outdated). Turning the control to true can be useful for
130 :     bootstrapping.
131 :     </li>
132 :     <li>
133 :     Changed the installation mechanism for CM tool plugins. These
134 :     are just libaries and now get installed like ordinary
135 :     libaries.<br/>
136 :    
137 :     There are now a number of new installation targets that give
138 :     some fine-grain control over what classes and suffixes are
139 :     known, and what they will map to. See config/targets for
140 :     details.<br/>
141 :    
142 :     The code that caused plugin installation as part of running a
143 :     tool's "build" script has been removed. (The build script is for
144 :     building, not for installing.)
145 :     </li>
146 :     </ul>
147 :     </dd>
148 :    
149 :     <dt>SML/NJ Library</dt>
150 :     <dd>
151 :     <ul>
152 :     <li>
153 :     Added <tt>next</tt> function to <tt>Fifo</tt> and <tt>Queue</tt> modules.
154 :     </li>
155 :     </ul>
156 :     </dd>
157 :    
158 :     <dt>ml-lpt:</dt>
159 :     <dd>
160 :     <ul>
161 :     <li>
162 :     The name of several ml-lpt-lib modules has changed:
163 :     <pre>
164 :     Repair => AntlrRepair
165 :     StreamPos => AntlrStreamPos
166 :     ErrHandlerFn => AntlrErrHandler
167 :     EBNF => AntlrEBNF
168 :     </pre>
169 :     </li>
170 :     <li>
171 :     The ml-antlr specification format has changed: declarations such as
172 :     %tokens and nonterminal definitions can occur *multiple* times in the
173 :     same specification. The semantics are such that each new
174 :     declaration extends the previous ones. This does not apply to
175 :     %start or %name, of course.
176 :     </li>
177 :    
178 :     <li>
179 :     Importing a grammar via %import now includes <em>all</em>
180 :     declarations in from the imported grammar, except for %name,
181 :     %entry, and %start. Tokens and nonterminals can be dropped
182 :     using the new %dropping clause of the
183 :     %import directive; the separate %drop and %extend have been
184 :     removed.
185 :     </li>
186 :    
187 :     <li>
188 :     We now allow optional type annotations on nonterminals, using
189 :     the %nonterms directive as in ml-yacc.
190 :     </li>
191 :    
192 :     <li>
193 :     The refcell construct is now implemented using SML's regular
194 :     reference cells, so the :== and !! notation has been
195 :     deprecated.
196 :     </li>
197 :    
198 :     <li>
199 :     The ml-antlr tool now does much more checking of
200 :     specifications, and its error messages have been greatly
201 :     improved. Error repair for generated parsers has been
202 :     completely rewritten, and is now both much faster and more
203 :     accurate.
204 :     </li>
205 :     <li>
206 :     ml-ulex is now more lenient with escape codes
207 :     (non-SML-standard escape codes are now interpreted literally,
208 :     so e.g. \| denotes "|"). Also, character classes may now
209 :     include a "-" character at the beginning as is standard in
210 :     most other regexp tools.
211 :     </li>
212 :     <li>
213 :     All of these changes are documented in the user guide, which
214 :     has been updated and improved.
215 :     </li>
216 :     </ul>
217 :     </dd>
218 :    
219 :     <dt>AMD64 support:</dt>
220 :     <dd>
221 :     <ul>
222 :     <li>
223 :     Added the new MLRISC code generator for the AMD64. This
224 :     version, in contrast to the previous one, uses SSE registers
225 :     and instructions for all floating-point computations.
226 :     </li>
227 :     <li>
228 :     Added FSQRT instructions for the AMD64 code generator.
229 :     </li>
230 :     </ul>
231 :     </dd>
232 :    
233 :     <dt>Regression Tests:</dt>
234 :     <dd>
235 :     <ul>
236 :     <li>
237 :     Revised the regression test suite and brought the tests and
238 :     reference outputs up to date. Added a few new tests. Cleaned
239 :     up the test scripts.
240 :     </li>
241 :     </ul>
242 :     </dd>
243 :    
244 :     </dl>
245 :    
246 :     </body>
247 :     </html>

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