HAT-DETECT(1)

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/local/bin/hat-detect

SEE ALSO
hmake(1), hat-trans(1), hat-delta(1), hat-stack(1), hat-observe(1), hat-trail(1)