
On 19-03-17 02:08:56, Rahul Muttineni wrote:
Syd, can you tell us what kind of things you were trying to print out?
Maybe I wasn't very clear. I'm trying to visualise the internal structure of some of the typechecker's output. I specifically do NOT need to see the output of Outputable's functions. They show the human-readibly version and not the internal structure. Does that answer your question?
Hope that helps, Rahul
On Sun, Mar 19, 2017 at 1:14 AM, Edward Z. Yang
wrote: We can't add Show instances for these types because many types below them, e.g., Type, are cyclic, and would result in infinite output.
Perhaps we can add a new type class which a) faithfully represents the Haskell syntax, but b) can deal with cyclic data. I think that's something people would like (extra compilation time not withstanding). But it sounds annoying to do since the deriving mechanism is not going to help you.
Edward
Excerpts from Tom Sydney Kerckhove's message of 2017-03-18 14:03:48 +0100:
Dear GHC Devs,
I am trying to use GHC as a library but I'm having a lot of trouble with understanding what everything means. Up to now, I have been able to figure out what to do by reading the sources, but it ocured to me that much of my struggles could have been mitigated if the relevant types had Show instances.
I am specifically talking about the types concerning type checking. TypecheckedModule and everything below that. I am aware that most of the types have an Outputable instance, but there are two problems with that:
- 'Outputting' a value requires DynFlags. (yes, I know about pprTrace) - These instances are not intended to show the internal structure of a value, but rather a 'human readable' representation of a value.
My questions for you:
- Is there a reason that there are no derived 'Show' instances for most types? - Would you accept a diff that adds these?
Thank you for your time.
_______________________________________________ ghc-devs mailing list ghc-devs@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs
-- Rahul Muttineni
-- Tom Sydney Kerckhove