<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<META NAME="Generator" CONTENT="MS Exchange Server version 6.5.7652.24">
<TITLE>First public release of ULTRA type error slicer for SML</TITLE>
</HEAD>
<BODY>
<!-- Converted from text/plain format -->
<P><FONT SIZE=2>We are happy to announce the first public release of our type error<BR>
slicing software for the SML programming language.<BR>
<BR>
All information can be found at this URL:<BR>
<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>
The aim of our type error slicer is to provide useful type error<BR>
reports for pieces of code written in SML. Our type error slicer:<BR>
<BR>
* 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>
* Highlights these program points in the original, unchanged source<BR>
code, and<BR>
* Avoids showing internal details of the operation of the type<BR>
inference machinery.<BR>
<BR>
At the URL mentioned above, you can find a compiled package of the<BR>
software that is ready to be used. The package contains:<BR>
<BR>
* Installation instructions and an installation shell script.<BR>
* A compiled SML binary for Linux on the i386 architecture. We<BR>
have tested this on CentOS 5.3, Fedora 7, Ubuntu 9.04 and<BR>
Gentoo.<BR>
* Emacs Lisp code that extends GNU Emacs with commands that<BR>
highlight source code with information about type error slices.<BR>
We have tested this with GNU Emacs versions 22.1, 22.3 and 23.1.<BR>
* A 19 page user guide containing detailed explanations of how to<BR>
use the software and interpret the type error slices.<BR>
* A very large number of sample test cases.<BR>
<BR>
Known limitations:<BR>
<BR>
* We have not yet built the software for other operating systems<BR>
than Linux.<BR>
* The only currently supported user interface is via GNU Emacs (or<BR>
our web demo).<BR>
* Some features of the SML language are not parsed (the user will be<BR>
notified if this is the case), and some type errors are not yet<BR>
discovered (the user will need to rely on their usual type checker<BR>
in these cases). Notable spots where the implementation is<BR>
incomplete are functors, overloading, equality types, and fixity<BR>
declarations.<BR>
* The details of the SML basis library are woefully incomplete<BR>
(fortunately the user can add any additional details they are<BR>
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 have some known issues with statuses of long identifiers<BR>
and exceptions which yields wrong error reports.<BR>
<BR>
There is also a web demonstration of the software with over 270 sample<BR>
test cases, so you can try without needing to install the software.<BR>
<BR>
Best wishes,<BR>
<BR>
Vincent Rahli and Joe Wells</FONT>
</P>
</BODY>
<BR />
<HR>
<FONT FACE="ARIAL,HELVETICA" SIZE="-1" COLOR="GRAY">
Heriot-Watt University is a Scottish charity
registered under charity number SC000278.
<BR />
</FONT>
</HTML>