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 4201 - (view) (download) (as text)

1 : jhr 4199 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2 :     <html>
3 :     <head>
4 :     <title>SML/NJ 110.79 Release Notes</title>
5 :     <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.code {
43 :     font-size: 80%;
44 :     }
45 :     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 :     table.buglist {
58 :     margin-left: 2em;
59 :     font-size: 100%;
60 :     }
61 :     td.bugid {
62 :     font-weight: bold;
63 :     padding-right: 1em;
64 :     padding-left: 0px;
65 :     margin-left: 0px;
66 :     }
67 :     p.compact {
68 :     margin-top: 0pt;
69 :     margin-bottom: 0pt;
70 :     }
71 :     </style>
72 :     </head>
73 :    
74 :     <body>
75 :     <div class="smlnj-banner">
76 :     Standard ML of New Jersey
77 :     <br>
78 :     Version 110.80 NEWS
79 :     <br>
80 :     ??SOME DATE??
81 :     </div>
82 :    
83 :     <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 :     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 :     <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 :     and many bug fixes.
102 :     </p>
103 :    
104 :     <h3>Details:</h3>
105 :    
106 :     <dl>
107 :     <dt class="component">Compiler:</dt>
108 :     <dd>
109 :     </dd>
110 :     <dt class="component">Basis Library:</dt>
111 :     <dd>
112 :     <p>
113 :     This version continues to track proposed Basis Library improvements.
114 :     <span class="important">Note that these improvements are <i>proposals</i>
115 :     that have not yet been ratified and are subject to change!</span>
116 :     Specifically, the following proposals are supported by this version of SML/NJ:
117 :     </p>
118 :     <dl>
119 :     <dt><a href="https://github.com/SMLFamily/BasisLibrary/wiki/2015-001-Correction-to-ListPair"><b>[2015-001]</b> Correction to ListPair</a></dt>
120 :     <dd>SML/NJ already implemented the semantics described in this proposal.
121 :     </dd>
122 :     <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>
123 :     <dd>This change adds the <span class="code">Either</span> structure to the Basis Library.
124 :     </dd>
125 :     <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>
126 :     <dd>This change adds operations to the <span class="code">Array</span>,
127 :     <span class="code">List</span>, <span class="code">ListPair</span>, <span class="code">Option</span>,
128 :     and <span class="code">Vector</span> structures, and to the <span class="code">MONO_ARRAY</span>
129 :     and <span class="code">MONO_VECTOR</span> signatures.
130 :     </dd>
131 :     <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>
132 :     <dd>This change adds the <span class="code">Fn</span> structure to the Basis Library.
133 :     </dd>
134 :     <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>
135 :     <dd>This change adds the <span class="code">Ref</span> structure to the Basis Library.
136 :     </dd>
137 :     <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>
138 :     <dd>This change standardizes the generation of exceptions when partially applying curried basis functions.
139 :     The change fixed bug <b>136</b>.
140 :     </dd>
141 :     </dl>
142 :     <p style="margin-bottom: 0pt;">
143 :     It is very unlikely that these changes will break existing code, but there are
144 :     a couple of scenarios in which the code might break. The first is conflicts created
145 :     by the use of <span class="kw">open</span>. For example, the implementation
146 :     of <span class="exe">ml-yacc</span> had declarations of the form
147 :     <div class="code">
148 :     <span class="kw">open</span> Array List
149 :     </div>
150 :     which created a type error because <span class="code">List.sub</span> shadowed
151 :     <span class="code">Array.sub</span>.
152 :     </p>
153 :     <p>
154 :     The second class of problem is when a module implements one of the affected Basis
155 :     signatures. For example, the <b>MLRISC</b> library had two modules that implemented
156 :     extensions of the <span class="code">ARRAY</span> signature and which required
157 :     modification to compile.
158 :     </p>
159 :     <p>
160 :     In such cases, we recommend updating the source code, but it is also possible to compile
161 :     against the old version of the <b>Basis Library</b> by changing the line
162 :     </p>
163 :     <div class="code">
164 :     $/basis.cm
165 :     </div>
166 :     <p class="compact">
167 :     to
168 :     </p>
169 :     <div class="code">
170 :     $/basis-2004.cm
171 :     </div>
172 :     <p style="margin-top: 0pt;">
173 :     in your CM files. Note that backward-compatible version of the <b>Basis Library</b> is only
174 :     available if the <tt>old-basis</tt> target in <tt>config/targets</tt>
175 :     was requested when <b>SML/NJ</b> was built (this target is requested
176 :     by default).
177 :     </p>
178 :     </dd>
179 :     </dl>
180 :    
181 :     <dl>
182 :     <dt class="component">SML/NJ Library:</dt>
183 :     <dd>
184 :     <p>
185 :     Added the function <span class="code">Controls.help</span> for getting the help
186 :     string from a control.
187 :     </p>
188 :     <p>
189 :     Added the functions <span class="code">mkOption</span>, <span class="code">mkOptionReqArg</span>,
190 :     and <span class="code">mkOptionFlag</span> to the <span class="code">Controls</span> module.
191 :     These functions make it easier to package controls as command-line options.
192 :     They provide an alternative to the usual approach of using a "--C<ctl>=<value> form for
193 :     all of the controls.
194 :     </p>
195 :     </dd>
196 :     </dt>
197 :    
198 :     <dl>
199 :     <dt class="component">Successor ML:</dt>
200 :     <dd>
201 :     <p style="margin-bottom: 0pt;">
202 :     <a href="https://github.com/SMLFamily/Proposed-Definition-of-Successor-ML"><b>Successor ML</b></a>
203 :     is collection of proposed enhancements to the <b>Standard ML</b> language.
204 :     In collaboration with the <a href="http://mlton.org"><b>MLton</b></a> implementors, we are
205 :     starting to add support for these features the <b>SML/NJ</b>.
206 :     In this release, we have added support for the syntactic extensions to the language:
207 :     </p>
208 :     <ul>
209 :     <li>
210 :     Allow vertical bars in front of the first constructor in a
211 :     <span class="kw">datatype</span> definition and in front of the first pattern in a
212 :     <span class="kw">case</span> expression.
213 :     <!-- what about "fun"?? -->
214 :     </li>
215 :     <!-- other stuff: ";" and "," at end of sequence; "do" for "val () =" -->
216 :     </ul>
217 :     <p class="compact">
218 :     The <b>Successor ML</b> features can be enabled using the command-line
219 :     option <tt>-Cparser.succ-ml=true</tt> or by using the assignment
220 :     </p>
221 :     <div class=code>
222 :     Control.succML := true;
223 :     </div>
224 :     <p style="margin-top: 0pt; margin-bottom: 0pt;">
225 :     at the REPL. It is also possible to mark individual source files as
226 :     being &quot;<b>Successor ML</b>&quot; sources in a CM file. There are
227 :     several ways to do so; the easiest is to specify that they should be
228 :     handled by the &quot;<tt>succ-ml</tt>&quot; tool:
229 :     </p>
230 :     <div class="code">
231 :     foo.sml : succ-ml
232 :     </div>
233 :     <p stype="margin-top: 0pt; margin-bottom: 0pt;">
234 :     Alternatively, one can give the &quot;<tt>succ-ml</tt>&quot; argument to the
235 :     &quot;<tt>sml</tt>&quot; tool:
236 :     </p>
237 :     <div class="code">
238 :     foo.sml : sml (succ-ml)
239 :     foo.sml (succ-ml)
240 :     </div>
241 :     <p stype="margin-top: 0pt; margin-bottom: 0pt;">
242 :     It is also possible to enable them by setting the control flag
243 :     using the <span class="kw">with</span> keyword in a CM file as
244 :     illustrated by the following equivalent forms:
245 :     <div class="code">
246 :     foo.sml (<span class="kw">with</span>: parser.succ-ml)
247 :     foo.sml (<span class="kw">with</span>: parser.succ-ml=true)
248 :     foo.sml (<span class="kw">with</span>:(<span class="kw">name</span>:parser.succ-ml))
249 :     foo.sml (<span class="kw">with</span>:(<span class="kw">name</span>:parser.succ-ml <span class="kw">value</span>:true))
250 :     </div>
251 :     </dd>
252 :     </dl>
253 :    
254 :     <h3>Bugs:</h3>
255 :     <p>
256 :     Here is a list of tracked bugs fixed (or closed) with this release, please see the
257 :     <a href="https://smlnj-gforge.cs.uchicago.edu/projects/smlnj-bugs/">bug tracker</a>
258 :     for more details.
259 :     </p>
260 :     <table class="buglist">
261 :     <!-- <tr><td class="bugid">XXX</td><td>DESCRIPTION</td></tr> -->
262 :     </table>
263 :     <p>The following unnumbered bugs were also fixed:
264 :     </p>
265 :     <ul class="buglist">
266 : jhr 4201 <li class="bug">
267 :     Fixed the handling of the <span class="code">Error</span> exception
268 :     in the interactive loop so that we no longer get an exception traceback
269 :     from syntax and type errors in user code.
270 :     </li>
271 : jhr 4199 </ul>
272 :    
273 :     <h3>Supported systems:</h3>
274 :     <blockquote>
275 :     <p>
276 :     We have verified that the system builds and runs on the following systems.
277 :     </p>
278 :     <div>
279 :     <table>
280 :     <tr><th>Architecture</th> <th>Operating System</th></tr>
281 :     <tr><td>PowerPC</td> <td>Mac OS X 10.5 (Leopard)</td></tr>
282 :     <tr><td>&nbsp;</td> <td>&nbsp;</td></tr>
283 :     <tr><td>x86</td> <td>Mac OS X 10.6 (Snow Leopard)</td></tr>
284 :     <tr><td></td> <td>Mac OS X 10.7 (Lion)</td></tr>
285 :     <tr><td></td> <td>Mac OS X 10.8 (Mountain Lion)</td></tr>
286 :     <tr><td></td> <td>Mac OS X 10.9 (Mavericks)</td></tr>
287 :     <tr><td></td> <td>Mac OS X 10.10 (Yosemite)</td></tr>
288 :     <tr><td></td> <td>Mac OS X 10.11 (El Capitan)</td></tr>
289 :     <tr><td></td> <td>Ubuntu 14.04.3 (GNU/Linux 3.13.0)</td></tr>
290 :     <tr><td></td> <td>Windows 7</td></tr>
291 :     <tr><td></td> <td>Cygwin (hosted on Windows 7)</td></tr>
292 :     </table>
293 :     </div>
294 :     <p>
295 :     We believe that it runs on any recent Linux distribution that has support for 32-bit
296 :     executables, as well as on BSD variants, SPARC/Solaris, and PPC/AIX, but we have not
297 :     tested these systems.
298 :     </p>
299 :     </blockquote>
300 :    
301 :     </body>
302 :     </html>

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