
Hat status
The latest stable release is 2.02. The CVS development tree is now
at version 2.03. Bugfixes and important changes to the system are
described here for the two most recent released versions.
Hat 2.02 (2003-03-26) features
- New: Hat supports hierarchical module namespaces, and
the distribution includes a tracing version of (a subset of) the
base package of standard hierarchical libraries.
- New: Hat supports multi-parameter type classes and functional
dependencies, provided your underlying compiler supports them
(i.e. ghc).
- New: The browsing tools support qualified name syntax.
- Performance: The speed of traced programs is now much improved. There
is a new "known-arity" optimisation within Hat itself, which
gives a speed-up of ~20-40%. Also, if you use --buildwith=-O
when configuring Hat for ghc, you will get another 20-40%
improvement. Beware however that -O requires a lot
of memory (≥512Mb).
- Bugfix: Named field constructions and updates are now displayed in
the browsing tools as named fields.
- Bugfix: The viewing tools displayed some sugared lists misleadingly:
when the tail of a sugared list was cut off or undefined it
was shown as if it was a final element. Now it has an
ellipsis (...) to indicate possible extra elements.
- Bugfix: After :set recursive off hat-observe showed the
non-recursive calls of f even if given the application
pattern f in f.
- Bugfix: hat-observe :info counts did not necessarily match
the number of observations if there were partial or
super-saturated applications.
- Bugfix: hat-trail now works correctly in environments (e.g. Solaris)
that do not have stty cbreak mode.
- Bugfix: Scrolling sometimes blanked the upper part of the hat-trail
display when the trace was extended deeper than the window.
- Bugfix: The hat-trail display became corrupted if a single trail
expression or equation was large enough to scroll off the screen.
- Bugfix: Hat-trans generated wrongly-parenthesised code for some
lambda expressions.
- Bugfix: Hat-trans generated incorrect values for some non-printing
characters.
- Tidyup: For consistency, the :observe command within hat-observe now
starts a fresh hat-observe window. Also, in hat-trail, if
if you give a query pattern to the :observe command, it now uses
that as the first query, instead of the currently highlighted
function.
- Numerous other small bugfixes in the various trace browsing tools.
Hat 2.00 (2002-06-14) features
- The first version released separately from nhc98. It uses
a different file format to store the trace, and the browsing
tools have been completely rewritten to improve performance,
integration, and correctness.
Status of various components
The basic components of hat are:
- hat-trans, the program transformer.
- hat-lib, the runtime library that is linked to a transformed program.
- hat-observe, a browser driven by expression patterns.
- hat-trail, a browser driven by backward exploration.
- hat-detect, a browser implementing algorithmic debugging. (NOT INCLUDED)
- hat-stack, a browser showing a back-trace from an error.
- hat-view, a source-code viewer.
- hat-check, to verify the integrity of a .hat file.
The latest updates to these pages are available on the WWW from
http://www.haskell.org/hat/
http://www.cs.york.ac.uk/fp/hat/
This page last modified: 26th March 2003
York Functional Programming Group
|