[Haskell-cafe] ANNOUNCE: hpc-strobe-0.1: Hpc-generated strobes for
a running Haskell program
naur at post11.tele.dk
Fri May 8 15:11:35 EDT 2009
I am pleased to announce the initial release of hpc-strobe: Hpc-generated
strobes for a running Haskell program. hpc-strobe is a rudimentary library
that demonstrates the possibility of using Hpc (Haskell Program Coverage) to
inspect the state of a running Haskell program. hpc-strobe-0.1 has been
uploaded to hackage:
In ordinary use of Hpc, a single so-called tix file is produced at the end of
a run. The tix file records how many times each expression has been used
during the run. This can be used to mark up the source code, identifying
expressions that have not been used.
hpc-strobe uses the basic machinery provided by Hpc to produce multiple tix
files, also called strobes, representing the coverage at different times
while the program is running. By subtracting such two tix files, again using
Hpc machinery, a tix file representing the expressions used between the times
of recording the subtracted tix files is produced. This may be used, for
example, to get a better idea of what a long-running program is doing. It
could also be used as a profiling tool, getting information about how many
times individual expressions are used.
A program is included whose strobe differences produce a crude rendering of an
analog clock when they are used to mark up the source code using Hpc. Please
see the attached example (gunzip the file, point you browser to it, scroll
down to view the canvas function).
Use of the library involves a simple change of the main function and also
requires the program to be enabled for hpc. At the time of writing, this
means using a fairly recent version of GHC and compiling the Haskell code
with the -fhpc option.
For additional details, see the README included in the package.
-------------- next part --------------
A non-text attachment was scrubbed...
Size: 3863 bytes
Desc: not available
Url : http://www.haskell.org/pipermail/haskell-cafe/attachments/20090508/2924e044/Main.hs.html.bin
More information about the Haskell-Cafe