Hi all, I am stuck on the following problem.
Suppose you have two module Lib Client where Client "imports" Lib. Now, while analyzing the Core of `Client` often I need to resolve the name of a `TyThing` defined inside `Lib`. Normally, this is easy enough: I simply use hscTcRcLookupName :: HscEnv <https://downloads.haskell.org/~ghc/8.2.1/docs/html/libraries/ghc-8.2.1/HscTypes.html#t:HscEnv> -> Name <https://downloads.haskell.org/~ghc/8.2.1/docs/html/libraries/ghc-8.2.1/Name.html#t:Name> -> IO <https://downloads.haskell.org/~ghc/8.2.1/docs/html/libraries/base-4.10.0.0/System-IO.html#t:IO> (Maybe <https://downloads.haskell.org/~ghc/8.2.1/docs/html/libraries/base-4.10.0.0/Data-Maybe.html#t:Maybe> TyThing <https://downloads.haskell.org/~ghc/8.2.1/docs/html/libraries/ghc-8.2.1/Type.html#t:TyThing> ) defined inside HscMain. **THE PROBLEM** However, I find that when the relevant `Name` corresponds to something generated by TemplateHaskell (inside `Lib`) then the above `hscTcRcLookupName` fails to return any result! Even more oddly, suppose the name was BlogPostId If there are TWO `TyThing`s with that name, e.g. a type synonym defined type BlogPostId = ... and also a data constructor for a data family instance, then `hscTcRcLookupName` only returns the type synonym, but refuses to return the data constructor. Does anyone know what may be going on? Thanks! - Ranjit Jhala.
_______________________________________________ Glasgow-haskell-users mailing list Glasgow-haskell-users@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/glasgow-haskell-users