Philip K.F. Hölzenspies | 6 Mar 10:18 2013
Picon
Picon

Need help interpreting renamer trace output

Dear GHC-ers,

I'm looking into the inerts of the renamer and I'm trying to get a feel
for where things are bound. I thought it would be useful to have a look
at how the renamer works on something known, so I compiled the following
program (with HEAD):

class Foo x where
  type FooTy x y
  foo :: x t -> FooTy x t
instance Foo [] where
  type FooTy [] a = a
  foo (x:xs) = x

main = print "Done"

In the output of -ddump-rn-trace, I see this around the declaration of
the class Foo:

bhtv [x, y]
     []
     ([(v1A, x), (v1C, y)], [(afy, x), (afz, y)])
bhtv [t]
     []
     ([(v1A, x), (vjW, t)], [(afy, x), (afA, t)])
rnTycl [(class Foo x where
           type family FooTy x y
           foo :: x t -> FooTy x t,
         [(rfv, FooTy)])]
       [REC
(Continue reading)

Philip K.F. Hölzenspies | 6 Mar 11:29 2013
Picon
Picon

Re: Need help interpreting renamer trace output

Erratum; Of course, I meant that I had expected the different
occurrences of 'x' to have the same uniques. Similarly, the different
occurrences of 'y'. I did *not* expect 'x' and 'y' to have the same
uniques.

Ph.

On Wed, 2013-03-06 at 10:18 +0100, Philip K.F. Hölzenspies wrote:
> Dear GHC-ers,
> 
> I'm looking into the inerts of the renamer and I'm trying to get a feel
> for where things are bound. I thought it would be useful to have a look
> at how the renamer works on something known, so I compiled the following
> program (with HEAD):
> 
> 
> class Foo x where
>   type FooTy x y
>   foo :: x t -> FooTy x t
> instance Foo [] where
>   type FooTy [] a = a
>   foo (x:xs) = x
> 
> main = print "Done"
> 
> 
> In the output of -ddump-rn-trace, I see this around the declaration of
> the class Foo:
> 
> bhtv [x, y]
(Continue reading)

Simon Peyton-Jones | 6 Mar 18:39 2013
Picon

RE: Need help interpreting renamer trace output

Try -ddump-rn -dppr-debug.  Then you see all the unique.

In the class decls, all the occurrences of x have the same unique, don't they?  Ditto in the instance decl.  So I
don't understand your qn, sorry

Simon

|  -----Original Message-----
|  From: glasgow-haskell-users-bounces <at> haskell.org [mailto:glasgow-haskell-users-
|  bounces <at> haskell.org] On Behalf Of Philip K.F. Hölzenspies
|  Sent: 06 March 2013 10:29
|  To: glasgow-haskell-users <at> haskell.org
|  Subject: Re: Need help interpreting renamer trace output
|  
|  Erratum; Of course, I meant that I had expected the different
|  occurrences of 'x' to have the same uniques. Similarly, the different
|  occurrences of 'y'. I did *not* expect 'x' and 'y' to have the same
|  uniques.
|  
|  Ph.
|  
|  
|  
|  On Wed, 2013-03-06 at 10:18 +0100, Philip K.F. Hölzenspies wrote:
|  > Dear GHC-ers,
|  >
|  > I'm looking into the inerts of the renamer and I'm trying to get a feel
|  > for where things are bound. I thought it would be useful to have a look
|  > at how the renamer works on something known, so I compiled the following
|  > program (with HEAD):
(Continue reading)


Gmane