We are happy to announce the release of the version 0.5 of our type<br>error slicing software for the SML programming language.<br><br>Major improvements over the previous release:<br>  * Handling of the SML &#39;open&#39; feature.<br>
  * Handling of the SML datatype replication feature.<br>  * Type error slices can now be displayed in a terminal window or in<br>    a web browser.<br>  * We supply Ubuntu and Fedora packages.<br><br>Other less important improvement is:<br>
  * We improved our minimisation algorithm.<br><br>Even more changes are documented in the ChangeLog file.<br><br>The aim of our type error slicer is to provide useful type error<br>reports for pieces of code written in SML:<br>
  * It identifies all of the program points that contribute to a type<br>    error, including the spot with the actual programming error that<br>    caused the type error.<br>  * It highlights these program points in the original, unchanged<br>
    source code.<br>  * It avoids showing internal details of the operation of the type<br>    inference machinery.<br><br>New Ubuntu (Debian based) and Fedora (Red-Hat based) packages of our<br>type error slicer can be found at this URL:<br>
  <a href="http://www.macs.hw.ac.uk/ultra/compositional-analysis/type-error-slicing/">http://www.macs.hw.ac.uk/ultra/compositional-analysis/type-error-slicing/</a><br><br>We will also shortly release a plain archive of our type error<br>
slicer.<br><br>At the time of the release of version 0.4, we forgot to update the web<br>demo.  We have now updated our web demo from version 0.3 to version 0.5.<br><br>Known limitations:<br>  * We have not yet built the software for other operating systems<br>
    than Linux.<br>  * The currently supported user interfaces are via a terminal window,<br>    GNU Emacs (or our web demo).  We are currently developing a Vim<br>    interface.<br>  * Some type errors are not yet discovered (the user will need to<br>
    rely on their usual type checker in these cases).  Notable spots<br>    where the implementation is incomplete are functors (you can work<br>    around this by including signatures on functor applications),<br>    equality types.<br>
  * Concerning fixity declarations, programs are parsed as though the<br>    declarations were not there, which gives wrong results.<br>  * We don&#39;t yet handle overloaded constants (for example 1 is always<br>    of type int).<br>
  * The details of the SML basis library are incomplete (fortunately<br>    the user can add any additional details they are using).<br>  * The software does not currently scale well to very large programs<br>    (we are still improving this).  It is currently suitable for small<br>
    programs and use in teaching.<br>  * We do not report free identifiers anymore.<br>  * We have some known issues &#39;;&#39; that can lead to incorrect<br>    constraint generations and so to wrong type error messages.  We<br>
    are currently working on a new version of the slicer that will fix<br>    this issue.<br><br>Best wishes,<br><br>Vincent Rahli and Joe Wells<br>