HAT-COVER(1)

NAME
hat-cover - highlight Haskell source expressions used in a traced run

SYNOPSIS
hat-cover [OPTION]... [TRACEFILE] [SOURCEFILE]...

DESCRIPTION

Print to standard output a listing of each Haskell SOURCEFILE, highlighting all expressions for which at least one instance occurs in the hat TRACEFILE.

The TRACEFILE may be specifed with or without a extension; similarly each SOURCEFILE may be specified with or without a extension. If no SOURCEFILE is specified hat-cover lists all sources in which there are traced expressions.

The highlighted expressions in the output are maximal expressions represented in TRACEFILE. However, case-expressions, if-expressions and let-expressions are not included among the candidate maximal expressions. As a result, in outermost case/if/let layers each alternative, branch or local definition is considered separately for highlighting.

However, where a case/if/let occurs as a part of a larger expression of some other kind, any highlighting of the larger expression will also highlight the entire case/if/let. More generally, one cannot infer from the highlighting of an expression that every subexpression within it was needed at some point in the traced computation. Extra detail in coverage information can be obtained if necessary by lifting out key subexpressions as the right-hand-sides of local definitions.

-hion=onchars, -hioff=offchars
    options reset the character-sequence codes used to switch highlighting on and off in the output.

AUTHOR
Written by Colin Runciman.

BUGS/LIMITATIONS
Some lone-variable expressions are not candidate maximal expressions for highlighting — but any entire right-hand-side, or any alternative, branch or let-body in outermost case/if/let layers, are always candidates. Some trailing brackets in expressions are not included in highlighting. Both problems are consequences of the current hat trace representation.

REPORTING BUGS
Report bugs to <hat@haskell.org>.

COPYRIGHT
Copyright © 2004 University of York.
This is free software without warranty of any kind.

SEE ALSO
hat-cover is one of many tools in the Hat tracing system for Haskell programs. For further information about Hat see http://haskell.org/hat