Start with the Class.  Use classTyCon to get the TyCon.  Use tyConDataCons to get the data constructor.

 

Simon

 

From: ghc-devs [mailto:ghc-devs-bounces@haskell.org] On Behalf Of Conal Elliott
Sent: 23 March 2016 00:09
To: ghc-devs@haskell.org
Subject: lookupRdrNameInModuleForPlugins with constructors

 

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