Show instances for GHC internals

Edward Z. Yang ezyang at
Tue Oct 20 01:59:19 UTC 2015

Excerpts from Ömer Sinan Ağacan's message of 2015-10-19 14:18:41 -0700:
> I was wondering what would be the cost of adding Show instances. Would that
> mean significantly increased compile times? Or significantly bigger GHC
> binaries? If that's the case, could we enable Show instances with some
> arguments so that we can enable/disable it by modifying mk/

One difficulty is that many of the core type data types, e.g. TyThing,
are (1) a large mutually recursive graph, and (2) have
unsafeInterleaveIO thunks which would induce IO action.  So a naive
Show instance would give infinite output and have lots of side effects.
There are many data types which could usefully have Show added but
also many which would be very difficult to.


More information about the ghc-devs mailing list