[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