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 /doc/trunk/src/release-notes/110.80-README.html
ViewVC logotype

Annotation of /doc/trunk/src/release-notes/110.80-README.html

Parent Directory Parent Directory | Revision Log Revision Log


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

1 : jhr 4199 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2 :     <html>
3 :     <head>
4 : jhr 4222 <title>SML/NJ 110.80 Release Notes</title>
5 : jhr 4199 <style type="text/css">
6 :     body {
7 :     font-size: 12pt;
8 :     }
9 :     div.smlnj-banner {
10 :     font-weight: bold;
11 :     font-size: 200%;
12 :     text-align: center;
13 :     margin-top: 1.5em;
14 :     margin-bottom: 1.5em;
15 :     }
16 :     h3 {
17 :     font-size: 140%;
18 :     }
19 :     dt.component {
20 :     font-size: 120%;
21 :     font-weight: bold;
22 :     }
23 :     dd {
24 :     margin-left: 2em;
25 :     margin-bottom: 0.5em;
26 :     }
27 :     ul.buglist {
28 :     margin-left: 1em;
29 :     }
30 :     li {
31 :     margin-bottom: 0.5em;
32 :     }
33 :     span.important {
34 :     color: red;
35 :     text-weight: bold;
36 :     }
37 :     .code {
38 :     font-family: "Courier", monospace;
39 :     white-space: pre;
40 :     color: darkblue;
41 :     }
42 :     span.kw {
43 :     font-family: "Courier", monospace;
44 :     font-weight: bold;
45 :     color: darkgreen;
46 :     }
47 :     span.com {
48 :     font-style: italic;
49 :     color: indianred;
50 :     }
51 :     span.exe {
52 :     font-weight: bold;
53 :     }
54 :     table.buglist {
55 :     margin-left: 2em;
56 :     font-size: 100%;
57 :     }
58 :     td.bugid {
59 :     font-weight: bold;
60 :     padding-right: 1em;
61 :     padding-left: 0px;
62 :     margin-left: 0px;
63 :     }
64 :     p.compact {
65 :     margin-top: 0pt;
66 :     margin-bottom: 0pt;
67 :     }
68 :     </style>
69 :     </head>
70 :    
71 :     <body>
72 :     <div class="smlnj-banner">
73 :     Standard ML of New Jersey
74 :     <br>
75 :     Version 110.80 NEWS
76 :     <br>
77 :     ??SOME DATE??
78 :     </div>
79 :    
80 :     <hr>
81 :     <dl>
82 :     <dt>SML/NJ HOME:</dt>
83 :     <dd><a href="http://www.smlnj.org/index.html"><tt>http://www.smlnj.org/index.html</tt></a></dd>
84 :     <dt>FILES:</dt>
85 : jhr 4222 <dd><a href="http://smlnj.cs.uchicago.edu/dist/working/110.80/index.html">
86 :     <tt>http://smlnj.cs.uchicago.edu/dist/working/110.80/</tt></a>
87 : jhr 4199 </dd>
88 :     </dl>
89 :     <hr>
90 :    
91 :     <h3>Summary:</h3>
92 :     <p>
93 :     This release is fairly substantial and incudes new
94 :     <a href="https://github.com/SMLFamily/BasisLibrary/wiki/Home"><b>Basis Library</b></a> modules and the start of support for
95 :     <a href="https://github.com/SMLFamily/Proposed-Definition-of-Successor-ML"><b>Successor ML</b></a>,
96 :     which is an evolution of the Standard ML language.
97 :     It also has support for the latest version of Mac OS X (El Capitan) and Linux 4.x kernels,
98 :     and many bug fixes.
99 :     </p>
100 :    
101 :     <h3>Details:</h3>
102 :    
103 :     <dl>
104 :     <dt class="component">Compiler:</dt>
105 :     <dd>
106 :     </dd>
107 :     <dt class="component">Basis Library:</dt>
108 :     <dd>
109 :     <p>
110 :     This version continues to track proposed Basis Library improvements.
111 :     <span class="important">Note that these improvements are <i>proposals</i>
112 :     that have not yet been ratified and are subject to change!</span>
113 :     Specifically, the following proposals are supported by this version of SML/NJ:
114 :     </p>
115 :     <dl>
116 :     <dt><a href="https://github.com/SMLFamily/BasisLibrary/wiki/2015-001-Correction-to-ListPair"><b>[2015-001]</b> Correction to ListPair</a></dt>
117 :     <dd>SML/NJ already implemented the semantics described in this proposal.
118 :     </dd>
119 :     <dt><a href="https://github.com/SMLFamily/BasisLibrary/wiki/2015-002-Addition-of-Either-module"><b>[2015-002]</b> Addition of Either module</a></dt>
120 :     <dd>This change adds the <span class="code">Either</span> structure to the Basis Library.
121 :     </dd>
122 :     <dt><a href="https://github.com/SMLFamily/BasisLibrary/wiki/2015-003-Additional-operations-on-sequences"><b>[2015-003]</b> Additional operations on sequences</a></dt>
123 :     <dd>This change adds operations to the <span class="code">Array</span>,
124 :     <span class="code">List</span>, <span class="code">ListPair</span>, <span class="code">Option</span>,
125 :     and <span class="code">Vector</span> structures, and to the <span class="code">MONO_ARRAY</span>
126 :     and <span class="code">MONO_VECTOR</span> signatures.
127 :     </dd>
128 :     <dt><a href="https://github.com/SMLFamily/BasisLibrary/wiki/2015-005-Addition-of-Fn-module"><b>[2015-005]</b> Addition of Fn module</a></dt>
129 :     <dd>This change adds the <span class="code">Fn</span> structure to the Basis Library.
130 :     </dd>
131 :     <dt><a href="https://github.com/SMLFamily/BasisLibrary/wiki/2015-007-Addition-of-Ref-module"><b>[2015-007]</b> Addition of Ref module</a></dt>
132 :     <dd>This change adds the <span class="code">Ref</span> structure to the Basis Library.
133 :     </dd>
134 :     <dt><a href="https://github.com/SMLFamily/BasisLibrary/wiki/2015-009-Policy-for-exceptions-and-partial-applications"><b>[2015-009]</b> Policy for exceptions and partial applications</a></dt>
135 :     <dd>This change standardizes the generation of exceptions when partially applying curried basis functions.
136 :     The change fixed bug <b>136</b>.
137 :     </dd>
138 : jhr 4230 <dt><a href="https://github.com/SMLFamily/BasisLibrary/wiki/2016-001-Add-popCount-to-WORD-signature"><B>[2016-001]</b>
139 :     <dd>This change adds the <span class="code">popCount</span> function to the <span class="code">WORD</span>
140 :     signature.
141 :     </dd>
142 : jhr 4199 </dl>
143 :     <p style="margin-bottom: 0pt;">
144 :     It is very unlikely that these changes will break existing code, but there are
145 :     a couple of scenarios in which the code might break. The first is conflicts created
146 :     by the use of <span class="kw">open</span>. For example, the implementation
147 :     of <span class="exe">ml-yacc</span> had declarations of the form
148 : jhr 4222 </p>
149 :     <div class="code">
150 : jhr 4199 <span class="kw">open</span> Array List
151 : jhr 4222 </div>
152 :     <p>
153 : jhr 4199 which created a type error because <span class="code">List.sub</span> shadowed
154 :     <span class="code">Array.sub</span>.
155 :     </p>
156 :     <p>
157 :     The second class of problem is when a module implements one of the affected Basis
158 :     signatures. For example, the <b>MLRISC</b> library had two modules that implemented
159 :     extensions of the <span class="code">ARRAY</span> signature and which required
160 :     modification to compile.
161 :     </p>
162 :     <p>
163 :     In such cases, we recommend updating the source code, but it is also possible to compile
164 :     against the old version of the <b>Basis Library</b> by changing the line
165 :     </p>
166 :     <div class="code">
167 :     $/basis.cm
168 :     </div>
169 :     <p class="compact">
170 :     to
171 :     </p>
172 :     <div class="code">
173 :     $/basis-2004.cm
174 :     </div>
175 :     <p style="margin-top: 0pt;">
176 :     in your CM files. Note that backward-compatible version of the <b>Basis Library</b> is only
177 :     available if the <tt>old-basis</tt> target in <tt>config/targets</tt>
178 :     was requested when <b>SML/NJ</b> was built (this target is requested
179 :     by default).
180 :     </p>
181 :     </dd>
182 :     </dl>
183 :    
184 :     <dl>
185 :     <dt class="component">SML/NJ Library:</dt>
186 :     <dd>
187 : jhr 4222 <p style="margin-bottom: 0pt;">
188 :     A number of changes to the <span class="code">ORD_SET</span> signature.
189 :     The following functions were added:
190 :     </p>
191 :     <div class="code">
192 :     <span class="kw">val</span> minItem <span class="kw">:</span> set <span class="kw">-></span> item
193 :     <span class="kw">val</span> maxItem <span class="kw">:</span> set <span class="kw">-></span> item
194 :     <span class="kw">val</span> toList <span class="kw">:</span> set <span class="kw">-></span> item list
195 :     </div>
196 :     <p style="margin-top: 0pt;">
197 :     In addition, the function <span class="code">listItems</span> is now considered deprecated.
198 :     </p>
199 : jhr 4199 <p>
200 :     Added the function <span class="code">Controls.help</span> for getting the help
201 :     string from a control.
202 :     </p>
203 :     <p>
204 :     Added the functions <span class="code">mkOption</span>, <span class="code">mkOptionReqArg</span>,
205 :     and <span class="code">mkOptionFlag</span> to the <span class="code">Controls</span> module.
206 :     These functions make it easier to package controls as command-line options.
207 : jhr 4222 They provide an alternative to the usual approach of using a "--C&lt;ctl&gt;=&lt;value&gt; form for
208 : jhr 4199 all of the controls.
209 :     </p>
210 : jhr 4206 <p>
211 :     Fixed a bug in the implementation of the <span class="code">all</span> function in the
212 :     splay-tree implementation of sets
213 :     (<span class="kw">functor</span> <span class="code">SplaySetFn</span>).
214 :     </p>
215 : jhr 4199 </dd>
216 : jhr 4222 </dl>
217 : jhr 4199
218 :     <dl>
219 :     <dt class="component">Successor ML:</dt>
220 :     <dd>
221 :     <p style="margin-bottom: 0pt;">
222 :     <a href="https://github.com/SMLFamily/Proposed-Definition-of-Successor-ML"><b>Successor ML</b></a>
223 :     is collection of proposed enhancements to the <b>Standard ML</b> language.
224 :     In collaboration with the <a href="http://mlton.org"><b>MLton</b></a> implementors, we are
225 :     starting to add support for these features the <b>SML/NJ</b>.
226 :     In this release, we have added support for the syntactic extensions to the language:
227 :     </p>
228 :     <ul>
229 :     <li>
230 :     Allow vertical bars in front of the first constructor in a
231 :     <span class="kw">datatype</span> definition and in front of the first pattern in a
232 :     <span class="kw">case</span> expression.
233 :     <!-- what about "fun"?? -->
234 :     </li>
235 :     <!-- other stuff: ";" and "," at end of sequence; "do" for "val () =" -->
236 :     </ul>
237 :     <p class="compact">
238 :     The <b>Successor ML</b> features can be enabled using the command-line
239 :     option <tt>-Cparser.succ-ml=true</tt> or by using the assignment
240 :     </p>
241 :     <div class=code>
242 :     Control.succML := true;
243 :     </div>
244 :     <p style="margin-top: 0pt; margin-bottom: 0pt;">
245 :     at the REPL. It is also possible to mark individual source files as
246 :     being &quot;<b>Successor ML</b>&quot; sources in a CM file. There are
247 :     several ways to do so; the easiest is to specify that they should be
248 :     handled by the &quot;<tt>succ-ml</tt>&quot; tool:
249 :     </p>
250 :     <div class="code">
251 :     foo.sml : succ-ml
252 :     </div>
253 : jhr 4222 <p style="margin-top: 0pt; margin-bottom: 0pt;">
254 : jhr 4199 Alternatively, one can give the &quot;<tt>succ-ml</tt>&quot; argument to the
255 :     &quot;<tt>sml</tt>&quot; tool:
256 :     </p>
257 :     <div class="code">
258 :     foo.sml : sml (succ-ml)
259 :     foo.sml (succ-ml)
260 :     </div>
261 : jhr 4222 <p style="margin-top: 0pt; margin-bottom: 0pt;">
262 : jhr 4199 It is also possible to enable them by setting the control flag
263 :     using the <span class="kw">with</span> keyword in a CM file as
264 :     illustrated by the following equivalent forms:
265 : jhr 4222 </p>
266 : jhr 4199 <div class="code">
267 :     foo.sml (<span class="kw">with</span>: parser.succ-ml)
268 :     foo.sml (<span class="kw">with</span>: parser.succ-ml=true)
269 :     foo.sml (<span class="kw">with</span>:(<span class="kw">name</span>:parser.succ-ml))
270 :     foo.sml (<span class="kw">with</span>:(<span class="kw">name</span>:parser.succ-ml <span class="kw">value</span>:true))
271 :     </div>
272 :     </dd>
273 :     </dl>
274 :    
275 :     <h3>Bugs:</h3>
276 :     <p>
277 :     Here is a list of tracked bugs fixed (or closed) with this release, please see the
278 :     <a href="https://smlnj-gforge.cs.uchicago.edu/projects/smlnj-bugs/">bug tracker</a>
279 :     for more details.
280 :     </p>
281 :     <table class="buglist">
282 : jhr 4206 <tr><td class="bugid">144</td><td>Splay sets are broken</td></tr>
283 :     <tr><td class="bugid">147</td><td>Hexadecimal escapes in strings are not supported</td></tr>
284 : jhr 4222 <tr><td class="bugid">154</td><td>Return code for ml-ulex when there is an error</td></tr>
285 :     <tr><td class="bugid">155</td><td>Misleading printing of word literals in error messages</td></tr>
286 : jhr 4226 <tr><td class="bugid">156</td><td>SML resumes after SIGSTOP with bogus exception report</td></tr>
287 : jhr 4199 <!-- <tr><td class="bugid">XXX</td><td>DESCRIPTION</td></tr> -->
288 :     </table>
289 :     <p>The following unnumbered bugs were also fixed:
290 :     </p>
291 :     <ul class="buglist">
292 : jhr 4201 <li class="bug">
293 :     Fixed the handling of the <span class="code">Error</span> exception
294 :     in the interactive loop so that we no longer get an exception traceback
295 :     from syntax and type errors in user code.
296 :     </li>
297 : jhr 4222 <li class="bug">
298 :     Fixed a bug in the implementation of <i>ml-lex-mode</i> in <b>ml-ulex</b>.
299 :     The '<span class="code">\h</span>' escape was not supported (it is supposed to match
300 :     the character range <span class="code">[\128-\255]</span>).
301 :     </li>
302 :     </ul>
303 : jhr 4199
304 :     <h3>Supported systems:</h3>
305 :     <blockquote>
306 :     <p>
307 :     We have verified that the system builds and runs on the following systems.
308 :     </p>
309 :     <div>
310 :     <table>
311 :     <tr><th>Architecture</th> <th>Operating System</th></tr>
312 :     <tr><td>PowerPC</td> <td>Mac OS X 10.5 (Leopard)</td></tr>
313 :     <tr><td>&nbsp;</td> <td>&nbsp;</td></tr>
314 :     <tr><td>x86</td> <td>Mac OS X 10.6 (Snow Leopard)</td></tr>
315 :     <tr><td></td> <td>Mac OS X 10.7 (Lion)</td></tr>
316 :     <tr><td></td> <td>Mac OS X 10.8 (Mountain Lion)</td></tr>
317 :     <tr><td></td> <td>Mac OS X 10.9 (Mavericks)</td></tr>
318 :     <tr><td></td> <td>Mac OS X 10.10 (Yosemite)</td></tr>
319 :     <tr><td></td> <td>Mac OS X 10.11 (El Capitan)</td></tr>
320 :     <tr><td></td> <td>Ubuntu 14.04.3 (GNU/Linux 3.13.0)</td></tr>
321 :     <tr><td></td> <td>Windows 7</td></tr>
322 :     <tr><td></td> <td>Cygwin (hosted on Windows 7)</td></tr>
323 :     </table>
324 :     </div>
325 :     <p>
326 :     We believe that it runs on any recent Linux distribution that has support for 32-bit
327 :     executables, as well as on BSD variants, SPARC/Solaris, and PPC/AIX, but we have not
328 :     tested these systems.
329 :     </p>
330 :     </blockquote>
331 :    
332 :     </body>
333 :     </html>

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