[GHC] #11635: Missleading error message when using polymorpic kinds

GHC ghc-devs at haskell.org
Wed Feb 24 12:46:49 UTC 2016


#11635: Missleading error message when using polymorpic kinds
-------------------------------------+-------------------------------------
           Reporter:  phadej         |             Owner:
               Type:  bug            |            Status:  new
           Priority:  normal         |         Milestone:
          Component:  Compiler       |           Version:  8.0.1-rc2
           Keywords:                 |  Operating System:  Unknown/Multiple
       Architecture:                 |   Type of failure:  None/Unknown
  Unknown/Multiple                   |
          Test Case:                 |        Blocked By:
           Blocking:                 |   Related Tickets:
Differential Rev(s):                 |         Wiki Page:
-------------------------------------+-------------------------------------
 Example program:

 {{{
 {-# LANGUAGE TypeInType, KindSignatures, ExplicitForAll #-}
 import Data.Kind
 data X (a :: forall k. k -> * ) = X
 }}}

 errors with

 {{{
 polykind.hs:3:1: error:
     Expecting one more argument to ‘a’
     Expected kind ‘k0’, but ‘a’ has kind ‘forall k. k -> *’
 }}}

 Without `TypeInType`, the error is better, yet gives false hint:

 {{{
 polykind.hs:3:23: error:
     Illegal kind: forall k. k -> *
     Did you mean to enable TypeInType?
 }}}

 ---

 For the record 7.10.3 doesn't recognise polymorphic kinds at all (same
 program, without `Data.Kind` import):

 {{{
 polykind.hs:3:23: parse error on input ‘forall’
 }}}

 Which makes me think that polymorphic kinds are somehow supported, but
 maybe not.

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


More information about the ghc-tickets mailing list