[GHC] #8985: Strange kind error with type family, GADTs, data kinds, and kind polymorphism

GHC ghc-devs at haskell.org
Mon Apr 14 12:04:04 UTC 2014


#8985: Strange kind error with type family, GADTs, data kinds, and kind
polymorphism
----------------------------------------------+----------------------------
        Reporter:  kosmikus                   |            Owner:
            Type:  bug                        |           Status:  new
        Priority:  normal                     |        Milestone:
       Component:  Compiler (Type checker)    |          Version:  7.8.1
      Resolution:                             |         Keywords:
Operating System:  Unknown/Multiple           |     Architecture:
 Type of failure:  GHC rejects valid program  |  Unknown/Multiple
       Test Case:                             |       Difficulty:  Unknown
        Blocking:                             |       Blocked By:
                                              |  Related Tickets:
----------------------------------------------+----------------------------

Comment (by Simon Peyton Jones <simonpj@…>):

 In [changeset:"e7f0ae7ff4f2199abe42f20bac825a7802bff466/ghc"]:
 {{{
 #!CommitTicketReference repository="ghc"
 revision="e7f0ae7ff4f2199abe42f20bac825a7802bff466"
 Honour the untouchability of kind variables

 Trac #8985 showed up a major shortcoming in the kind unifier: it was
 ignoring untoucability.  This has unpredictably-bad consequences;
 notably, the skolem-escape check can fail.

 There were two things wrong
  * TcRnMonad.isTouchableTcM was returning a constant value for kind
 variables
    (wrong), and even worse the constant was back-to-front (it was always
 False).

  * We weren't even calling isTouchableTcM in TcType.unifyKindX.

 I'm not sure how this ever worked.

 Merge to 7.8.3 in due course.
 }}}

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


More information about the ghc-tickets mailing list