[GHC] #10114: Kind mismatches with AnyK in rank-2 types

GHC ghc-devs at haskell.org
Mon Mar 9 14:52:06 UTC 2015


#10114: Kind mismatches with AnyK in rank-2 types
-------------------------------------+-------------------------------------
        Reporter:  cam               |                   Owner:
            Type:  bug               |                  Status:  new
        Priority:  normal            |               Milestone:
       Component:  Compiler          |                 Version:  7.8.4
      Resolution:                    |                Keywords:
Operating System:  Unknown/Multiple  |            Architecture:
 Type of failure:  GHC rejects       |  Unknown/Multiple
  valid program                      |               Test Case:
      Blocked By:                    |                Blocking:
 Related Tickets:                    |  Differential Revisions:
-------------------------------------+-------------------------------------

Comment (by simonpj):

 In comment:3 I think I was confusing these two things:
 {{{
   T = forall k. blah
   T :: forall k. blah   -- Uses of T must be applied to a kind
 }}}
 So I think I retract my claim in comment:1. Perhaps we do want to
 generalise "inside".

 Can anyone say why it is "generally more common to restrict the body of a
 forall to have kind `*`"?  I can't articulate a clear argument.

 In GHC's case, a good reason not to do this was types like  `forall a. a
 -> (# a, a #)`, but levity polymorpism will help here.

 Simon

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


More information about the ghc-tickets mailing list