[GHC] #6093: Kind polymorphism fails with recursive type definition using different kind

GHC cvs-ghc at haskell.org
Sun Sep 9 02:11:54 CEST 2012


#6093: Kind polymorphism fails with recursive type definition using different kind
----------------------------------------+-----------------------------------
  Reporter:  Ashley Yakeley             |          Owner:                  
      Type:  bug                        |         Status:  closed          
  Priority:  normal                     |      Milestone:                  
 Component:  Compiler (Type checker)    |        Version:  7.6.1           
Resolution:  fixed                      |       Keywords:                  
        Os:  Unknown/Multiple           |   Architecture:  Unknown/Multiple
   Failure:  GHC rejects valid program  |     Difficulty:  Unknown         
  Testcase:  polykinds/T6093            |      Blockedby:                  
  Blocking:                             |        Related:                  
----------------------------------------+-----------------------------------
Changes (by Ashley Yakeley):

  * status:  new => closed
  * resolution:  => fixed


Comment:

 OK, I see the problem. This compiles:

 {{{
 data R :: k -> * where
     MkR :: R f -> R (f ())
 }}}

 But this doesn't:

 {{{
 data R (t :: k) where
     MkR :: R f -> R (f ())
 }}}

 This is a different bug, and not so serious if you know the work-around.

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



More information about the Glasgow-haskell-bugs mailing list