[GHC] #9200: Milner-Mycroft failure at the kind level

GHC ghc-devs at haskell.org
Tue Jun 17 14:55:10 UTC 2014


#9200: Milner-Mycroft failure at the kind level
----------------------------------------------+----------------------------
        Reporter:  ekmett                     |            Owner:
            Type:  bug                        |           Status:  new
        Priority:  normal                     |        Milestone:
       Component:  Compiler (Type checker)    |          Version:  7.8.2
      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 goldfire):

 Happily, I think everyone here has converged on (PARGEN) with the critical
 side condition that we do not unify a meta-variable with a kind containing
 a skolem. I realized yesterday that the side condition was necessary but
 didn't have the chance to write it up.

 In any case, I think we can end the design phase here and move onto the
 implementation phase. Most of (PARGEN) should be easy, as (PARGEN) is
 exactly what is implemented by `NonParametricKinds`, except for the side
 condition. To implement the side condition, I propose a new disjunct for
 `MetaInfo` named `NonSkolemTv` which is like `TauTv` but cannot unify with
 a type containing a skolem. The unifier, in !TcUnify, would just check
 this condition at the appropriate point. Sound reasonable?

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


More information about the ghc-tickets mailing list