[Haskell-cafe] HPC question

David Turner d.turner at tracsis.com
Wed May 23 11:40:00 CEST 2012


Dear Haskell Cafe,

I've been playing around with the -fhpc option to GHC and have come 
across some things being highlighted yellow in the HTML markup for which 
I can't work out the right way to 'cover' them.

A cut down program that shows what I'm talking about is at 
http://hpaste.org/68888

Looking at the output of hpc show, I see:

    47          0 Main                            15:6-15:9 ExpBox False
    48          2 Main                            15:6-15:9 ExpBox False
    49          0 Main                            15:6-15:9 ExpBox False
    50          0 Main                            15:6-15:9 ExpBox False
    51          1 Main                          22:13-22:14 TopLevelBox 
["=="]
    52          0 Main                          22:13-22:14 TopLevelBox 
["/="]
    53          1 Main                          22:17-22:20 TopLevelBox 
["showsPrec"]
    54          0 Main                          22:17-22:20 TopLevelBox 
["showList"]

I.e. each of those bits whose highlighting I don't understand is made of 
some overlapping boxes, one of which is used.

Now, if I fiddle in the .tix file by hand to fake a usage of (/=) by 
changing the 52nd entry from 0 to 1, the Eq instance isn't highlighted 
any more in the HTML output. More strangely, if I then remove the usage 
of (==) by changing the 51st entry from 1 to 0, the Eq instance still 
isn't highlighted. A similar effect happens with the Show instance. It 
seems to be highlighting based only on the last entry in the .tix file, 
where there are two or more identically-placed boxes. Is this right? I'd 
have expected that if I use (==) then the deriving (Eq) clause should be 
considered 'used'.

Secondly, I can't work out what the four boxes in position 15:6-15:9 are 
supposed to be. If I use -ddump-simpl I can see many calls to 'tick' but 
there's no mention of numbers 47, 49 or 50. Perhaps they've been 
simplified away? I'm afraid I don't know what else to try dumping to get 
at the instrumented code before the simplifier's had a go at it.

I'm using Haskell Platform 2011.2.0.1 (GHC 7.0.3) on Windows if that's 
relevant.

Thanks in advance,

David

-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 4922 bytes
Desc: S/MIME Cryptographic Signature
URL: <http://www.haskell.org/pipermail/haskell-cafe/attachments/20120523/98ee7c1b/attachment.bin>


More information about the Haskell-Cafe mailing list