[Haskell-cafe] parsing ghc type errors

Semen Trygubenko semen at trygub.com
Fri Sep 7 17:04:52 CEST 2012

Dear Haskell-cafe,

When dealing with ghc type errors I often see messages like

Couldn't match expected type `ghc-prim:GHC.Types.IO{tc 32I}
                                MyTypeNameHere{tc r1d8}'
            with actual type `ghc-prim:GHC.Types.IO{tc 32I}
                                MyOtherTypeNameHere{tc r1d8}'

Could you please help me understand the meaning of the entities
in {} and why are they useful, or point to a source of information about them?

Messages where familiar types are referenced are easy to read,
but occasionally I get messages of the sort

            with actual type `[( b0{tv t3p} [tau] :: ghc-prim:GHC.Prim.*{(w) tc 34d} )]'

How do I go about reading the type

[( b0{tv t3p} [tau] :: ghc-prim:GHC.Prim.*{(w) tc 34d} )]


E.g., where the names 'b0' and '[tau]' come from?
What does '(w)' in '{(w) tc 34d}' mean?

Thank you,

Семен Тригубенко
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: Digital signature
URL: <http://www.haskell.org/pipermail/haskell-cafe/attachments/20120907/18dcc694/attachment.pgp>

More information about the Haskell-Cafe mailing list