Skip to content
  • Simon Peyton Jones's avatar
    Define and use PprTyThing.pprTypeForUser · 046feb1e
    Simon Peyton Jones authored
    When printing types for the user, the interactive UI often wants to
    leave foralls implicit.  But then (as Claus points out) we need to be
    careful about name capture. For example with this source program
    
    	class C a b where
    	  op :: forall a. a -> b
    
    we were erroneously displaying the class in GHCi (with suppressed
    foralls) thus:
    
    	class C a b where
    	  op :: a -> b
    
    which is utterly wrong. 
    
    This patch fixes the problem, removes GHC.dropForAlls (which is dangerous),
    and instead supplies PprTyThing.pprTypeForUser, which does the right thing.
    
    046feb1e