Section: User Commands (1)
Return to Main Contents
hat-trail - find a bug by backwards exploration of redex trails
is an interactive tool for exploring the trace of a given Haskell program
supplied as its argument. Exploration proceeds
starting at the program output or an error message (with which the
computation aborted), finding at each step the direct parent expression
of the selected item. This is particularly useful for locating an
error. You start at the observed faulty behaviour and work backwards
towards the source of the error.
Every reduction replaces an instance of the left-hand side of a program
equation by an instance of its right-hand side. The instance of the
left-hand side ``creates'' the instance of the right-hand side and is
therefore called its parent. With hat-trail you can obtain
the parent of any expression or sub-expression already visible.
The following single-key commands are available for interactive
navigation of expressions.
The following multi-letter commands are available. They each begin
with a colon, bringing a visible command-line to the bottom of the
screen. A command can be abbreviated to its shortest non-ambiguous
Exit the interactive tool.
- :help [cmd]
Shows help text giving an overview of the commands available, or if a
is given, shows more detailed help about that command.
- :set [flag]
With no argument, shows all current mode settings. Given an argument,
it changes that mode and reports the new setting. The flag argument
is one of:
- uneval [on|off]
show unevaluated expressions in full (default off)
- strSugar [on|off]
sugar character strings (default on)
- listSugar [on|off]
sugar lists (default on)
- qualified [on|off]
show all identifiers qualified (default off)
- equations [on|off]
show rhs of equations (default off)
- srcrefs [on|off]
show source reference of currently selected expression in the top bar
- cutoff n
cut-off depth for deeply nested exprs (default 10)
Short-cut to increase the cutoff depth by <n> (default 1)
Short-cut to decrease the cutoff depth by <n> (default 1)
Shows (in a separate window) the source code for the application usage
Shows (in a separate window) the source code for the function
definition currently highlighted.
Start the hat-detect browser in a new window, beginning with the currently
Start another hat-trail browser in a new window, beginning with the currently
- :observe [query]
With no argument, an interactive hat-observe window is started with the
function part of the currently selected expression used as the initial
query. Given a query argument, the new window starts with a search
for the given expression pattern before giving an interactive prompt.
After resizing a window, use this command to inform the tool to detect
the change in size, so that pretty-printing can fit the screen.
hmake(1), hat-trans(1), hat-stack(1), hat-observe(1), hat-detect(1)
- INTERACTIVE COMMANDS
- SEE ALSO
This document was created by
using the manual pages.
Time: 15:48:36 GMT, July 03, 2003