[ The Types Forum (announcements only), 
     http://lists.seas.upenn.edu/mailman/listinfo/types-announce ]

We are happy to announce the release of the version 0.5 of our type
error slicing software for the SML programming language.

Major improvements over the previous release:
  * Handling of the SML 'open' feature.
  * Handling of the SML datatype replication feature.
  * Type error slices can now be displayed in a terminal window or in
    a web browser.
  * We supply Ubuntu and Fedora packages.

Other less important improvement is:
  * We improved our minimisation algorithm.

Even more changes are documented in the ChangeLog file.

The aim of our type error slicer is to provide useful type error
reports for pieces of code written in SML:
  * It identifies all of the program points that contribute to a type
    error, including the spot with the actual programming error that
    caused the type error.
  * It highlights these program points in the original, unchanged
    source code.
  * It avoids showing internal details of the operation of the type
    inference machinery.

New Ubuntu (Debian based) and Fedora (Red-Hat based) packages of our
type error slicer can be found at this URL:
  http://www.macs.hw.ac.uk/ultra/compositional-analysis/type-error-slicing/

We will also shortly release a plain archive of our type error
slicer.

At the time of the release of version 0.4, we forgot to update the web
demo.  We have now updated our web demo from version 0.3 to version 0.5.

Known limitations:
  * We have not yet built the software for other operating systems
    than Linux.
  * The currently supported user interfaces are via a terminal window,
    GNU Emacs (or our web demo).  We are currently developing a Vim
    interface.
  * Some type errors are not yet discovered (the user will need to
    rely on their usual type checker in these cases).  Notable spots
    where the implementation is incomplete are functors (you can work
    around this by including signatures on functor applications),
    equality types.
  * Concerning fixity declarations, programs are parsed as though the
    declarations were not there, which gives wrong results.
  * We don't yet handle overloaded constants (for example 1 is always
    of type int).
  * The details of the SML basis library are incomplete (fortunately
    the user can add any additional details they are using).
  * The software does not currently scale well to very large programs
    (we are still improving this).  It is currently suitable for small
    programs and use in teaching.
  * We do not report free identifiers anymore.
  * We have some known issues ';' that can lead to incorrect
    constraint generations and so to wrong type error messages.  We
    are currently working on a new version of the slicer that will fix
    this issue.

Best wishes,

Vincent Rahli and Joe Wells

Reply via email to