NAME
hat-detect - find a bug by algorithmic debugging
SYNOPSIS
hat-detect prog[.hat]
DESCRIPTION
hat-detect is an interactive tool for finding bugs in the trace of a Haskell program prog supplied as its argument. The user must answer a sequence of yes/no questions. Each question asked by hat-detect concerns the reduction of a function application to a value. You answer yes if the reduction is correct with respect to your intentions, and <em>no</em> otherwise. After a number of questions hat-detect reports an example equation which is the cause of the observed faulty behaviour - that is, which function definition is incorrect.
INTERACTIVE COMMANDS
The hat-detect browser asks you questions, so the basic mode of interaction is to type answers:
- yes
-
Yes, the equation looks correct by my understanding of the meaning of the function.
- no
-
No, the equation looks incorrect. Given the displayed arguments, the function is returning the wrong result.
The following other commands are available. They each begin with a colon.
- :show
-
Show the EDTs hat-detect is currently searching for bugs
- :children
-
Show the children of the current reduction.
- :quit
-
Exit the interactive tool.
- :help
-
Shows help text giving an overview of the commands available.
- :source
-
Shows (in a separate window) the source code for the reduction currently being queried.
- :delta
-
Start the hat-delta browser in a new window, beginning with the currently queried reduction.
- :detect
-
or :split Start the hat-detect browser in a new window, beginning with the currently queried reduction.
- :explore
-
Start the hat-explore browser in a new window, beginning with the currently queried reduction.
- :trail
-
Start a hat-trail browser in a new window, beginning with the currently queried reduction.
FILES
- /usr/bin/hat-detect
SEE ALSO
hmake(1), hat-trans(1), hat-delta(1), hat-stack(1), hat-observe(1), hat-trail(1)