[GHC] #7916: PolyKinds without type signatures

GHC cvs-ghc at haskell.org
Thu May 23 18:21:53 CEST 2013


#7916: PolyKinds without type signatures
----------------------------------------+-----------------------------------
  Reporter:  monoidal                   |          Owner:                  
      Type:  bug                        |         Status:  closed          
  Priority:  normal                     |      Milestone:                  
 Component:  Compiler (Type checker)    |        Version:  7.7             
Resolution:  fixed                      |       Keywords:                  
        Os:  Unknown/Multiple           |   Architecture:  Unknown/Multiple
   Failure:  GHC rejects valid program  |     Difficulty:  Unknown         
  Testcase:  polykinds/T7916            |      Blockedby:                  
  Blocking:                             |        Related:                  
----------------------------------------+-----------------------------------

Comment(by monoidal):

 Thank you for fixing it! I appreciate it.

 Maybe I'm doing something wrong, but the regression test does not seem to
 capture the bug - it compiles before and after the fix. Here's one
 possibility to test that g is really polymorphic:

 {{{
 {-# LANGUAGE PolyKinds, ExplicitForAll #-}
 module T7916 where

 f :: forall (m :: k -> *) (a :: k). m a -> m a
 f = id

 g = f

 data M f = M (f Int)

 -- Test that g :: forall (m :: k -> *) (a :: k). m a -> m a
 g1 = g :: [Int] -> [Int]
 g2 = g :: M [] -> M []
 }}}

 Both g1 and g2 are needed to detect the behaviour before the fix.

-- 
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/7916#comment:5>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler



More information about the ghc-tickets mailing list