<!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>
&nbsp; <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.&nbsp; Our type error slicer:<BR>
<BR>
&nbsp; * Identifies all of the program points that contribute to a type<BR>
&nbsp;&nbsp;&nbsp; error (including the spot with the actual programming error that<BR>
&nbsp;&nbsp;&nbsp; caused the type error),<BR>
&nbsp; * Highlights these program points in the original, unchanged source<BR>
&nbsp;&nbsp;&nbsp; code, and<BR>
&nbsp; * Avoids showing internal details of the operation of the type<BR>
&nbsp;&nbsp;&nbsp; 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.&nbsp; The package contains:<BR>
<BR>
&nbsp; * Installation instructions and an installation shell script.<BR>
&nbsp; * A compiled SML binary for Linux on the i386 architecture.&nbsp; We<BR>
&nbsp;&nbsp;&nbsp; have tested this on CentOS 5.3, Fedora 7, Ubuntu 9.04 and<BR>
&nbsp;&nbsp;&nbsp; Gentoo.<BR>
&nbsp; * Emacs Lisp code that extends GNU Emacs with commands that<BR>
&nbsp;&nbsp;&nbsp; highlight source code with information about type error slices.<BR>
&nbsp;&nbsp;&nbsp; We have tested this with GNU Emacs versions 22.1, 22.3 and 23.1.<BR>
&nbsp; * A 19 page user guide containing detailed explanations of how to<BR>
&nbsp;&nbsp;&nbsp; use the software and interpret the type error slices.<BR>
&nbsp; * A very large number of sample test cases.<BR>
<BR>
Known limitations:<BR>
<BR>
&nbsp; * We have not yet built the software for other operating systems<BR>
&nbsp;&nbsp;&nbsp; than Linux.<BR>
&nbsp; * The only currently supported user interface is via GNU Emacs (or<BR>
&nbsp;&nbsp;&nbsp; our web demo).<BR>
&nbsp; * Some features of the SML language are not parsed (the user will be<BR>
&nbsp;&nbsp;&nbsp; notified if this is the case), and some type errors are not yet<BR>
&nbsp;&nbsp;&nbsp; discovered (the user will need to rely on their usual type checker<BR>
&nbsp;&nbsp;&nbsp; in these cases).&nbsp; Notable spots where the implementation is<BR>
&nbsp;&nbsp;&nbsp; incomplete are functors, overloading, equality types, and fixity<BR>
&nbsp;&nbsp;&nbsp; declarations.<BR>
&nbsp; * The details of the SML basis library are woefully incomplete<BR>
&nbsp;&nbsp;&nbsp; (fortunately the user can add any additional details they are<BR>
&nbsp;&nbsp;&nbsp; using).<BR>
&nbsp; * The software does not currently scale well to very large programs<BR>
&nbsp;&nbsp;&nbsp; (we are still improving this).&nbsp; It is currently suitable for small<BR>
&nbsp;&nbsp;&nbsp; programs and use in teaching.<BR>
&nbsp; * We have some known issues with statuses of long identifiers<BR>
&nbsp;&nbsp;&nbsp; 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>