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 4222 - (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 :     </dl>
139 :     <p style="margin-bottom: 0pt;">
140 :     It is very unlikely that these changes will break existing code, but there are
141 :     a couple of scenarios in which the code might break. The first is conflicts created
142 :     by the use of <span class="kw">open</span>. For example, the implementation
143 :     of <span class="exe">ml-yacc</span> had declarations of the form
144 : jhr 4222 </p>
145 :     <div class="code">
146 : jhr 4199 <span class="kw">open</span> Array List
147 : jhr 4222 </div>
148 :     <p>
149 : jhr 4199 which created a type error because <span class="code">List.sub</span> shadowed
150 :     <span class="code">Array.sub</span>.
151 :     </p>
152 :     <p>
153 :     The second class of problem is when a module implements one of the affected Basis
154 :     signatures. For example, the <b>MLRISC</b> library had two modules that implemented
155 :     extensions of the <span class="code">ARRAY</span> signature and which required
156 :     modification to compile.
157 :     </p>
158 :     <p>
159 :     In such cases, we recommend updating the source code, but it is also possible to compile
160 :     against the old version of the <b>Basis Library</b> by changing the line
161 :     </p>
162 :     <div class="code">
163 :     $/basis.cm
164 :     </div>
165 :     <p class="compact">
166 :     to
167 :     </p>
168 :     <div class="code">
169 :     $/basis-2004.cm
170 :     </div>
171 :     <p style="margin-top: 0pt;">
172 :     in your CM files. Note that backward-compatible version of the <b>Basis Library</b> is only
173 :     available if the <tt>old-basis</tt> target in <tt>config/targets</tt>
174 :     was requested when <b>SML/NJ</b> was built (this target is requested
175 :     by default).
176 :     </p>
177 :     </dd>
178 :     </dl>
179 :    
180 :     <dl>
181 :     <dt class="component">SML/NJ Library:</dt>
182 :     <dd>
183 : jhr 4222 <p style="margin-bottom: 0pt;">
184 :     A number of changes to the <span class="code">ORD_SET</span> signature.
185 :     The following functions were added:
186 :     </p>
187 :     <div class="code">
188 :     <span class="kw">val</span> minItem <span class="kw">:</span> set <span class="kw">-></span> item
189 :     <span class="kw">val</span> maxItem <span class="kw">:</span> set <span class="kw">-></span> item
190 :     <span class="kw">val</span> toList <span class="kw">:</span> set <span class="kw">-></span> item list
191 :     </div>
192 :     <p style="margin-top: 0pt;">
193 :     In addition, the function <span class="code">listItems</span> is now considered deprecated.
194 :     </p>
195 : jhr 4199 <p>
196 :     Added the function <span class="code">Controls.help</span> for getting the help
197 :     string from a control.
198 :     </p>
199 :     <p>
200 :     Added the functions <span class="code">mkOption</span>, <span class="code">mkOptionReqArg</span>,
201 :     and <span class="code">mkOptionFlag</span> to the <span class="code">Controls</span> module.
202 :     These functions make it easier to package controls as command-line options.
203 : jhr 4222 They provide an alternative to the usual approach of using a "--C&lt;ctl&gt;=&lt;value&gt; form for
204 : jhr 4199 all of the controls.
205 :     </p>
206 : jhr 4206 <p>
207 :     Fixed a bug in the implementation of the <span class="code">all</span> function in the
208 :     splay-tree implementation of sets
209 :     (<span class="kw">functor</span> <span class="code">SplaySetFn</span>).
210 :     </p>
211 : jhr 4199 </dd>
212 : jhr 4222 </dl>
213 : jhr 4199
214 :     <dl>
215 :     <dt class="component">Successor ML:</dt>
216 :     <dd>
217 :     <p style="margin-bottom: 0pt;">
218 :     <a href="https://github.com/SMLFamily/Proposed-Definition-of-Successor-ML"><b>Successor ML</b></a>
219 :     is collection of proposed enhancements to the <b>Standard ML</b> language.
220 :     In collaboration with the <a href="http://mlton.org"><b>MLton</b></a> implementors, we are
221 :     starting to add support for these features the <b>SML/NJ</b>.
222 :     In this release, we have added support for the syntactic extensions to the language:
223 :     </p>
224 :     <ul>
225 :     <li>
226 :     Allow vertical bars in front of the first constructor in a
227 :     <span class="kw">datatype</span> definition and in front of the first pattern in a
228 :     <span class="kw">case</span> expression.
229 :     <!-- what about "fun"?? -->
230 :     </li>
231 :     <!-- other stuff: ";" and "," at end of sequence; "do" for "val () =" -->
232 :     </ul>
233 :     <p class="compact">
234 :     The <b>Successor ML</b> features can be enabled using the command-line
235 :     option <tt>-Cparser.succ-ml=true</tt> or by using the assignment
236 :     </p>
237 :     <div class=code>
238 :     Control.succML := true;
239 :     </div>
240 :     <p style="margin-top: 0pt; margin-bottom: 0pt;">
241 :     at the REPL. It is also possible to mark individual source files as
242 :     being &quot;<b>Successor ML</b>&quot; sources in a CM file. There are
243 :     several ways to do so; the easiest is to specify that they should be
244 :     handled by the &quot;<tt>succ-ml</tt>&quot; tool:
245 :     </p>
246 :     <div class="code">
247 :     foo.sml : succ-ml
248 :     </div>
249 : jhr 4222 <p style="margin-top: 0pt; margin-bottom: 0pt;">
250 : jhr 4199 Alternatively, one can give the &quot;<tt>succ-ml</tt>&quot; argument to the
251 :     &quot;<tt>sml</tt>&quot; tool:
252 :     </p>
253 :     <div class="code">
254 :     foo.sml : sml (succ-ml)
255 :     foo.sml (succ-ml)
256 :     </div>
257 : jhr 4222 <p style="margin-top: 0pt; margin-bottom: 0pt;">
258 : jhr 4199 It is also possible to enable them by setting the control flag
259 :     using the <span class="kw">with</span> keyword in a CM file as
260 :     illustrated by the following equivalent forms:
261 : jhr 4222 </p>
262 : jhr 4199 <div class="code">
263 :     foo.sml (<span class="kw">with</span>: parser.succ-ml)
264 :     foo.sml (<span class="kw">with</span>: parser.succ-ml=true)
265 :     foo.sml (<span class="kw">with</span>:(<span class="kw">name</span>:parser.succ-ml))
266 :     foo.sml (<span class="kw">with</span>:(<span class="kw">name</span>:parser.succ-ml <span class="kw">value</span>:true))
267 :     </div>
268 :     </dd>
269 :     </dl>
270 :    
271 :     <h3>Bugs:</h3>
272 :     <p>
273 :     Here is a list of tracked bugs fixed (or closed) with this release, please see the
274 :     <a href="https://smlnj-gforge.cs.uchicago.edu/projects/smlnj-bugs/">bug tracker</a>
275 :     for more details.
276 :     </p>
277 :     <table class="buglist">
278 : jhr 4206 <tr><td class="bugid">144</td><td>Splay sets are broken</td></tr>
279 :     <tr><td class="bugid">147</td><td>Hexadecimal escapes in strings are not supported</td></tr>
280 : jhr 4222 <tr><td class="bugid">154</td><td>Return code for ml-ulex when there is an error</td></tr>
281 :     <tr><td class="bugid">155</td><td>Misleading printing of word literals in error messages</td></tr>
282 : jhr 4199 <!-- <tr><td class="bugid">XXX</td><td>DESCRIPTION</td></tr> -->
283 :     </table>
284 :     <p>The following unnumbered bugs were also fixed:
285 :     </p>
286 :     <ul class="buglist">
287 : jhr 4201 <li class="bug">
288 :     Fixed the handling of the <span class="code">Error</span> exception
289 :     in the interactive loop so that we no longer get an exception traceback
290 :     from syntax and type errors in user code.
291 :     </li>
292 : jhr 4222 <li class="bug">
293 :     Fixed a bug in the implementation of <i>ml-lex-mode</i> in <b>ml-ulex</b>.
294 :     The '<span class="code">\h</span>' escape was not supported (it is supposed to match
295 :     the character range <span class="code">[\128-\255]</span>).
296 :     </li>
297 :     </ul>
298 : jhr 4199
299 :     <h3>Supported systems:</h3>
300 :     <blockquote>
301 :     <p>
302 :     We have verified that the system builds and runs on the following systems.
303 :     </p>
304 :     <div>
305 :     <table>
306 :     <tr><th>Architecture</th> <th>Operating System</th></tr>
307 :     <tr><td>PowerPC</td> <td>Mac OS X 10.5 (Leopard)</td></tr>
308 :     <tr><td>&nbsp;</td> <td>&nbsp;</td></tr>
309 :     <tr><td>x86</td> <td>Mac OS X 10.6 (Snow Leopard)</td></tr>
310 :     <tr><td></td> <td>Mac OS X 10.7 (Lion)</td></tr>
311 :     <tr><td></td> <td>Mac OS X 10.8 (Mountain Lion)</td></tr>
312 :     <tr><td></td> <td>Mac OS X 10.9 (Mavericks)</td></tr>
313 :     <tr><td></td> <td>Mac OS X 10.10 (Yosemite)</td></tr>
314 :     <tr><td></td> <td>Mac OS X 10.11 (El Capitan)</td></tr>
315 :     <tr><td></td> <td>Ubuntu 14.04.3 (GNU/Linux 3.13.0)</td></tr>
316 :     <tr><td></td> <td>Windows 7</td></tr>
317 :     <tr><td></td> <td>Cygwin (hosted on Windows 7)</td></tr>
318 :     </table>
319 :     </div>
320 :     <p>
321 :     We believe that it runs on any recent Linux distribution that has support for 32-bit
322 :     executables, as well as on BSD variants, SPARC/Solaris, and PPC/AIX, but we have not
323 :     tested these systems.
324 :     </p>
325 :     </blockquote>
326 :    
327 :     </body>
328 :     </html>

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