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.79-README.html
ViewVC logotype

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

Parent Directory Parent Directory | Revision Log Revision Log


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

1 : jhr 4078 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2 :     <html>
3 :     <head>
4 : jhr 4116 <title>SML/NJ 110.79 Release Notes</title>
5 :     <style type="text/css">
6 : jhr 4151 body {
7 :     font-size: 12pt;
8 :     }
9 : jhr 4078 div.smlnj-banner {
10 :     font-weight: bold;
11 : jhr 4151 font-size: 200%;
12 : jhr 4078 text-align: center;
13 : jhr 4116 margin-top: 1.5em;
14 :     margin-bottom: 1.5em;
15 : jhr 4078 }
16 : jhr 4151 h3 {
17 :     font-size: 140%;
18 :     }
19 : jhr 4078 dt.component {
20 : jhr 4151 font-size: 120%;
21 : jhr 4078 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 : jhr 4147 span.important {
34 :     color: red;
35 :     text-weight: bold;
36 :     }
37 : jhr 4078 .code {
38 :     font-family: "Courier", monospace;
39 :     white-space: pre;
40 : jhr 4139 color: darkblue;
41 : jhr 4115 }
42 :     span.code {
43 : jhr 4151 font-size: 80%;
44 : jhr 4078 }
45 : jhr 4139 span.kw {
46 :     font-family: "Courier", monospace;
47 :     font-weight: bold;
48 :     color: darkgreen;
49 :     }
50 :     span.com {
51 :     font-style: italic;
52 :     color: indianred;
53 :     }
54 :     span.exe {
55 :     font-weight: bold;
56 :     }
57 : jhr 4078 table.buglist {
58 :     margin-left: 2em;
59 : jhr 4151 font-size: 100%;
60 : jhr 4078 }
61 :     td.bugid {
62 :     font-weight: bold;
63 :     padding-right: 1em;
64 :     padding-left: 0px;
65 :     margin-left: 0px;
66 :     }
67 : jhr 4116 p.compact {
68 :     margin-top: 0pt;
69 :     margin-bottom: 0pt;
70 :     }
71 : jhr 4078 </style>
72 :     </head>
73 :    
74 :     <body>
75 :     <div class="smlnj-banner">
76 :     Standard ML of New Jersey
77 : jhr 4116 <br>
78 : jhr 4078 Version 110.79 NEWS
79 : jhr 4116 <br>
80 : jhr 4157 October 4, 2015
81 : jhr 4078 </div>
82 : jhr 4116
83 : jhr 4078 <hr>
84 :     <dl>
85 :     <dt>SML/NJ HOME:</dt>
86 :     <dd><a href="http://www.smlnj.org/index.html"><tt>http://www.smlnj.org/index.html</tt></a></dd>
87 :     <dt>FILES:</dt>
88 :     <dd><a href="http://smlnj.cs.uchicago.edu/dist/working/110.79/index.html">
89 :     <tt>http://smlnj.cs.uchicago.edu/dist/working/110.79/</tt></a>
90 :     </dd>
91 :     </dl>
92 :     <hr>
93 :    
94 :     <h3>Summary:</h3>
95 :     <p>
96 : jhr 4157 This release is fairly substantial and incudes new
97 :     <a href="https://github.com/SMLFamily/BasisLibrary/wiki/Home"><b>Basis Library</b></a> modules and the start of support for
98 : jhr 4107 <a href="https://github.com/SMLFamily/Proposed-Definition-of-Successor-ML"><b>Successor ML</b></a>,
99 :     which is an evolution of the Standard ML language.
100 :     It also has support for the latest version of Mac OS X (El Capitan) and Linux 4.x kernels,
101 : jhr 4157 and many bug fixes.
102 : jhr 4078 </p>
103 :    
104 :     <h3>Details:</h3>
105 :    
106 :     <dl>
107 : jhr 4131 <dt class="component">Compiler:</dt>
108 :     <dd>
109 :     <p>
110 :     The compiler is somewhat faster (about 7% when compiling itself).
111 :     </p>
112 :     </dd>
113 : jhr 4095 <dt class="component">Basis Library:</dt>
114 :     <dd>
115 :     <p>
116 : jhr 4151 This version implements a number of proposed improvements to the <b>Basis Library</b>.
117 : jhr 4157 <span class="important">Note that these improvements are <i>proposals</i>
118 : jhr 4151 that have not yet been ratified and are subject to change!</span>
119 : jhr 4095 Specifically, the following proposals are supported by this version of SML/NJ:
120 :     </p>
121 :     <dl>
122 :     <dt><a href="https://github.com/SMLFamily/BasisLibrary/wiki/2015-001-Correction-to-ListPair"><b>[2015-001]</b> Correction to ListPair</a></dt>
123 : jhr 4115 <dd>SML/NJ already implemented the semantics described in this proposal.
124 :     </dd>
125 : jhr 4095 <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>
126 : jhr 4115 <dd>This change adds the <span class="code">Either</span> structure to the Basis Library.
127 :     </dd>
128 : jhr 4095 <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>
129 : jhr 4115 <dd>This change adds operations to the <span class="code">Array</span>,
130 :     <span class="code">List</span>, <span class="code">ListPair</span>, <span class="code">Option</span>,
131 :     and <span class="code">Vector</span> structures, and to the <span class="code">MONO_ARRAY</span>
132 :     and <span class="code">MONO_VECTOR</span> signatures.
133 :     </dd>
134 : jhr 4095 <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>
135 : jhr 4115 <dd>This change adds the <span class="code">Fn</span> structure to the Basis Library.
136 :     </dd>
137 : jhr 4095 <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>
138 : jhr 4115 <dd>This change adds the <span class="code">Ref</span> structure to the Basis Library.
139 :     </dd>
140 : jhr 4095 <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>
141 : jhr 4115 <dd>This change standardizes the generation of exceptions when partially applying curried basis functions.
142 :     The change fixed bug <b>136</b>.
143 :     </dd>
144 : jhr 4095 </dl>
145 : jhr 4116 <p style="margin-bottom: 0pt;">
146 : jhr 4115 It is very unlikely that these changes will break existing code, but there are
147 : jhr 4139 a couple of scenarios in which the code might break. The first is conflicts created
148 :     by the use of <span class="kw">open</span>. For example, the implementation
149 :     of <span class="exe">ml-yacc</span> had declarations of the form
150 : jhr 4164 </p>
151 :     <div class="code">
152 :     <span class="kw">open</span> Array List
153 :     </div>
154 :     <p style="margin-top: 0pt;">
155 : jhr 4139 which created a type error because <span class="code">List.sub</span> shadowed
156 :     <span class="code">Array.sub</span>.
157 :     </p>
158 :     <p>
159 :     The second class of problem is when a module implements one of the affected Basis
160 :     signatures. For example, the <b>MLRISC</b> library had two modules that implemented
161 : jhr 4115 extensions of the <span class="code">ARRAY</span> signature and which required
162 : jhr 4139 modification to compile.
163 :     </p>
164 :     <p>
165 : jhr 4147 In such cases, we recommend updating the source code, but it is also possible to compile
166 : jhr 4151 against the old version of the <b>Basis Library</b> by changing the line
167 : jhr 4116 </p>
168 :     <div class="code">
169 :     $/basis.cm
170 :     </div>
171 :     <p class="compact">
172 : jhr 4115 to
173 : jhr 4116 </p>
174 :     <div class="code">
175 :     $/basis-2004.cm
176 :     </div>
177 :     <p style="margin-top: 0pt;">
178 : jhr 4151 in your CM files. Note that backward-compatible version of the <b>Basis Library</b> is only
179 : jhr 4147 available if the <tt>old-basis</tt> target in <tt>config/targets</tt>
180 :     was requested when <b>SML/NJ</b> was built (this target is requested
181 :     by default).
182 : jhr 4115 </p>
183 : jhr 4151 <p style="margin-bottom: 0pt;">
184 :     We have also added implementations of the following optional <b>Basis Library</b>
185 :     structures:
186 :     </p>
187 :     <div class="code">
188 :     <span class="kw">structure</span> PackReal64Big : PACK_REAL
189 :     <span class="kw">structure</span> PackReal64Little : PACK_REAL
190 :     <span class="kw">structure</span> PackRealBig : PACK_REAL
191 :     <span class="kw">structure</span> PackRealLittle : PACK_REAL
192 : jhr 4164 </div>
193 : jhr 4095 </dd>
194 : jhr 4116 </dl>
195 : jhr 4095
196 :     <dl>
197 : jhr 4164 <dt class="component">SML/NJ Library:</dt>
198 :     <dd>
199 :     <p>
200 :     Added additional array operations <span class="code">toList</span>,
201 :     <span class="code">fromVector</span>, and <span class="code">toVector</span> to
202 :     <span class="code">BitArray</span> module so that it matches the new
203 :     proposed <b>Basis Library</b> specification.
204 :     </p>
205 :     </dd>
206 :     </dl>
207 :    
208 :     <dl>
209 :     <dt class="component">Concurrent ML:</dt>
210 :     <dd>
211 :     <p>
212 :     Added the additional <b>Basis Library</b> modules described above
213 :     to the <b>CML</b> version of the library.
214 :     </p>
215 :     </dd>
216 :     </dl>
217 :    
218 :     <dl>
219 : jhr 4078 <dt class="component">Successor ML:</dt>
220 :     <dd>
221 : jhr 4116 <p style="margin-bottom: 0pt;">
222 : jhr 4107 <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 has added support for the lexical extensions to the language:
227 : jhr 4116 </p>
228 : jhr 4107 <ul>
229 :     <li>
230 : jhr 4115 Allow underscore ("<span class="code">_</span>") as a separator in numeric literals;
231 : jhr 4116 <i>e.g.</i>, <span class="code">123_456</span>,
232 : jhr 4107 <span class="code">0wxff_ff_ff_f3</span>, <span class="code">123_456.1</span>, ...
233 :     </li>
234 :     <li>
235 : jhr 4151 end-of-line comments, which are denoted using <span class="code">(*)</span>.
236 :     End-of-line comments properly nest into conventional block comments. For example,
237 :     the following block comment is well formed:
238 : jhr 4107 <div class=code>
239 : jhr 4139 <span class="com">(*
240 : jhr 4107 fun f x = x (*) my identity function *)
241 : jhr 4139 *)</span>
242 : jhr 4107 </div>
243 :     </li>
244 :     <li>
245 :     binary literals for both integers and words;
246 : jhr 4116 <i>e.g.</i>, <span class="code">0b0101_1110</span>, or
247 : jhr 4107 <span class="code">0wb1101</span>.
248 :     </li>
249 :     </ul>
250 : jhr 4116 <p class="compact">
251 : jhr 4107 These features can be enabled using the command-line option <tt>-Cparser.succ-ml=true</tt>
252 :     or by using the assignment
253 : jhr 4116 </p>
254 : jhr 4107 <div class=code>
255 :     Control.succML := true;
256 :     </div>
257 : jhr 4151 <p style="margin-top: 0pt; margin-bottom: 0pt;">
258 :     at the REPL. It is also possible to mark individual source files as
259 :     being &quot;<b>Successor ML</b>&quot; sources in a CM file. There are
260 :     several ways to do so; the easiest is to specify that they should be
261 :     handled by the &quot;<tt>succ-ml</tt>&quot; tool:
262 : jhr 4116 </p>
263 : jhr 4151 <div class="code">
264 :     foo.sml : succ-ml
265 :     </div>
266 : jhr 4164 <p style="margin-top: 0pt; margin-bottom: 0pt;">
267 : jhr 4151 Alternatively, one can give the &quot;<tt>succ-ml</tt>&quot; argument to the
268 :     &quot;<tt>sml</tt>&quot; tool:
269 :     </p>
270 :     <div class="code">
271 :     foo.sml : sml (succ-ml)
272 :     foo.sml (succ-ml)
273 :     </div>
274 : jhr 4164 <p style="margin-top: 0pt; margin-bottom: 0pt;">
275 : jhr 4151 It is also possible to enable them by setting the control flag
276 :     using the <span class="kw">with</span> keyword in a CM file as
277 :     illustrated by the following equivalent forms:
278 : jhr 4164 </p>
279 : jhr 4151 <div class="code">
280 :     foo.sml (<span class="kw">with</span>: parser.succ-ml)
281 :     foo.sml (<span class="kw">with</span>: parser.succ-ml=true)
282 :     foo.sml (<span class="kw">with</span>:(<span class="kw">name</span>:parser.succ-ml))
283 :     foo.sml (<span class="kw">with</span>:(<span class="kw">name</span>:parser.succ-ml <span class="kw">value</span>:true))
284 :     </div>
285 : jhr 4078 </dd>
286 : jhr 4116 </dl>
287 : jhr 4078
288 :     <h3>Bugs:</h3>
289 :     <p>
290 :     Here is a list of tracked bugs fixed (or closed) with this release, please see the
291 :     <a href="https://smlnj-gforge.cs.uchicago.edu/projects/smlnj-bugs/">bug tracker</a>
292 :     for more details.
293 :     </p>
294 :     <table class="buglist">
295 : jhr 4122 <tr><td class="bugid">45</td><td>Compiler bug in specialize phase</td></tr>
296 : jhr 4078 <tr><td class="bugid">53</td><td>psfig.sty is deprecated, use epsfig.sty wrapper or graphicx.sty</td></tr>
297 : jhr 4126 <tr><td class="bugid">82</td><td>Implementations of PACK_REAL missing</td></tr>
298 : jhr 4081 <tr><td class="bugid">131</td><td>ml-ulex does not allow comments in %states directives</td></tr>
299 : jhr 4078 <tr><td class="bugid">134</td><td>Fails to build with Linux kernel 4.x</td></tr>
300 : jhr 4098 <tr><td class="bugid">135</td><td>Fails to build on Linux PowerPC</td></tr>
301 : jhr 4095 <tr><td class="bugid">136</td><td>Incorrect raising of exceptions in Real.fmt and Time.fmt</td></tr>
302 : jhr 4114 <tr><td class="bugid">137</td><td>Adapt Linux PPC build to use mkstemp instead of tmpnam</td></tr>
303 : jhr 4141 <tr><td class="bugid">138</td><td>Incorrect behavior for Date.fromTimeLocal</td></tr>
304 :     <tr><td class="bugid">139</td><td>Date.date is broken</td></tr>
305 : jhr 4157 <tr><td class="bugid">140</td><td>Lookup failure in closure.sml when compiling Twelf</td></tr>
306 : jhr 4078 <!-- <tr><td class="bugid">XXX</td><td>DESCRIPTION</td></tr> -->
307 :     </table>
308 :     <!--
309 :     <p>The following unnumbered bugs were also fixed:
310 :     </p>
311 :     <ul class="buglist">
312 :     <li class="bug"></li>
313 :     </ul>
314 :     -->
315 :    
316 :     <h3>Supported systems:</h3>
317 :     <blockquote>
318 :     <p>
319 :     We have verified that the system builds and runs on the following systems.
320 :     </p>
321 :     <div>
322 :     <table>
323 : jhr 4116 <tr><th>Architecture</th> <th>Operating System</th></tr>
324 : jhr 4078 <tr><td>PowerPC</td> <td>Mac OS X 10.5 (Leopard)</td></tr>
325 :     <tr><td>&nbsp;</td> <td>&nbsp;</td></tr>
326 :     <tr><td>x86</td> <td>Mac OS X 10.6 (Snow Leopard)</td></tr>
327 :     <tr><td></td> <td>Mac OS X 10.7 (Lion)</td></tr>
328 :     <tr><td></td> <td>Mac OS X 10.8 (Mountain Lion)</td></tr>
329 :     <tr><td></td> <td>Mac OS X 10.9 (Mavericks)</td></tr>
330 :     <tr><td></td> <td>Mac OS X 10.10 (Yosemite)</td></tr>
331 :     <tr><td></td> <td>Mac OS X 10.11 (El Capitan)</td></tr>
332 :     <tr><td></td> <td>Ubuntu 12.04.4 (GNU/Linux 3.2.0) </td></tr>
333 :     <tr><td></td> <td>Windows 7</td></tr>
334 :     <tr><td></td> <td>Cygwin (hosted on Windows 7)</td></tr>
335 :     </table>
336 :     </div>
337 :     <p>
338 : jhr 4107 We believe that it runs on any recent Linux distribution that has support for 32-bit
339 : jhr 4078 executables, as well as on BSD variants, SPARC/Solaris, and PPC/AIX, but we have not
340 :     tested these systems.
341 :     </p>
342 :     </blockquote>
343 :    
344 :     </body>
345 :     </html>

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