lookupRdrNameInModuleForPlugins with constructors

Andrew Farmer xichekolas at gmail.com
Wed Mar 23 00:25:06 UTC 2016


Er, dictionary... sorry, mkDataOccFS

On Tue, Mar 22, 2016 at 5:24 PM, Andrew Farmer <xichekolas at gmail.com> wrote:
> 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