New type of ($) operator in GHC 8.0 is problematic

Joachim Breitner mail at
Fri Feb 5 09:19:26 UTC 2016


Am Freitag, den 05.02.2016, 09:22 +0200 schrieb Roman Cheplyaka:
> On 02/05/2016 01:31 AM, Edward Z. Yang wrote:
> > I'm not really sure how you would change the type of 'id' based on
> > a language pragma.
> > 
> > How do people feel about a cosmetic fix, where we introduce a new
> > pragma, {-# LANGUAGE ShowLevity #-} which controls the display of
> > levity
> > arguments/TYPE.  It's off by default but gets turned on by some
> > extensions like MagicHash (i.e. we only show levity if you have
> > enabled extensions where the distinction matters).
> Yes, I am surprised this isn't the way it's been done. The levity
> arguments should totally be hidden unless requested explicitly.
> I'd only expect this to be a ghc flag (-fshow-levity), not a language
> pragma, since it should only affect the way types are /shown/.

shouldn’t this already happen, based on -fprint-explicit-kinds? At
least I would have expected this.

So we probably either want to make sure that -fno-print-explicit-kinds
also prevents forall’ed kind variables, or add a new flag of that (heh)


Joachim “nomeata” Breitner
  mail at joachim-breitner.de
  Jabber: nomeata at  • GPG-Key: 0xF0FBF51F
  Debian Developer: nomeata at

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: This is a digitally signed message part
URL: <>

More information about the ghc-devs mailing list