Finding out if a binding is externally visible

Sebastian Graf sgraf1337 at gmail.com
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 gmail.com> 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.
> haskell.org/~ghc/8.0.1/docs/html/libraries/ghc-8.0.1/GHC.
> 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: <http://mail.haskell.org/pipermail/ghc-devs/attachments/20170528/e78da12a/attachment.html>


More information about the ghc-devs mailing list