Dear Joachim, You are right -- some more context.
Given tc :: TyCon m :: ModName env :: HscEnv I want to get a s :: String such that _in_ the context given by `m` and `env` I can resolve `s` to get back the original `TyCon`, e.g. something like L _ rn <- hscParseIdentifier env s name <- lookupRdrName env modName rn would then return `name :: Name` which corresponds to the original `TyCon`. That is, the goal is _not_ pretty printing, but "serialization" into a String representation that lets me recover the original `TyCon` later. (Consequently, `"Data.Set.Base.Set"` doesn't work as the `Data.Set.Base` module is hidden and hence, when I try the above, GHC complains that the name is not in scope. Does that clarify the problem? Thanks! - Ranjit. On Tue, Jan 24, 2017 at 6:11 PM, Joachim Breitner <m...@joachim-breitner.de> wrote: > Hi Ranjit, > > Am Dienstag, den 24.01.2017, 16:09 -0800 schrieb Ranjit Jhala: > > My goal is to write a function > > > > tyconString :: TyCon -> String > > > > (perhaps with extra parameters) such that given the > > `TyCon` corresponding to `Set`, I get back the "original" > > name `S.Set`, or even `Data.Set.Set`. > > > > Everything I've tried, which is fiddling with different variants of > > `PprStyle`, end up giving me `Data.Set.Base.Set` > > > > Does anyone have a suggestion for how to proceed? > > in a way, `Data.Set.Base.Set` is the “original”, proper name for Set, > everything else is just a local view on the name. > > So, are you maybe looking for a way to get the “most natural way” to > print a name in a certain module context? > > This functionality must exist somewhere, as ghci is printing out errors > this way. But it certainly would require an additional argument to > tyconString, to specify in which module to print the name. > > Greetings, > Joachim > > > -- > Joachim “nomeata” Breitner > m...@joachim-breitner.de • https://www.joachim-breitner.de/ > XMPP: nome...@joachim-breitner.de • OpenPGP-Key: 0xF0FBF51F > Debian Developer: nome...@debian.org > _______________________________________________ > Glasgow-haskell-users mailing list > Glasgow-haskell-users@haskell.org > http://mail.haskell.org/cgi-bin/mailman/listinfo/glasgow-haskell-users > >
_______________________________________________ Glasgow-haskell-users mailing list Glasgow-haskell-users@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/glasgow-haskell-users