lookupRdrNameInModuleForPlugins with constructors

Andrew Farmer xichekolas at gmail.com
Wed Mar 23 00:24:01 UTC 2016


mkVarUnqual calls mkVarOccFS, which constructs an OccName in the
varName namespace. You need to construct your RdrName via mkTyVarOcc,
which picks the Type/Class namespace.

On Tue, Mar 22, 2016 at 5:09 PM, Conal Elliott <conal at conal.net> wrote:
> I'm trying to construct a dictionary in a GHC plugin. I'm stuck on finding
> the constructor for the dictionary. When I use `-ddump-simpl` on the module
> that defines the class, I see "Circat.Rep.C:HasRep". To try finding that
> constructor, I say
>
>> lookupRdrNameInModuleForPlugins hsc_env
>>   (mkModuleName "Circat.Rep") (mkVarUnqual "C:HasRep")
>
> However, I keep getting `Nothing` as a result. (Same without the "C:".) I've
> also had this same difficulty when looking up constructors for algebraic
> data types and when looking up TyCons. For regular value Ids, lookup
> succeeds.
>
> What am I missing?
>
> Thanks, - Conal
>
> _______________________________________________
> ghc-devs mailing list
> ghc-devs at haskell.org
> http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs
>


More information about the ghc-devs mailing list