Finding out if a binding is externally visible

Sebastian Graf sgraf1337 at
Sun May 28 16:01:46 UTC 2017

I just stumbled over Note [ExportFlag on binders] in Var.hs, which
indicates this might be a bug, right?

On Sun, May 28, 2017 at 5:52 PM, Sebastian Graf <sgraf1337 at> wrote:

> Hi all,
> I'm tinkering around with GHCs Call Arity Analysis and Demand Analysis as
> part of my Master's thesis. The usage analysis part is what I'm interested
> in in particular.
> After quite some time spent debugging absent errors, I noticed that
> certain top-level bindings aren't exported, but still visible in other
> modules through generated RULE pragmas (e.g. through class instance
> specialization). These bindings were considered absent in my combined
> analysis, explaining the very sporadic absent errors I was getting.
> Is there some function that tells me if an identifier is 'externally
> visible' in that sense? I think https://downloads.
> html#v:isExternalName is what I'm after, but I want to be sure. Does that
> function already work when the Ids are still local?
> Greetings,
> Sebastian
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the ghc-devs mailing list