[GHC] #9223: Type equality makes type variable untouchable

GHC ghc-devs at haskell.org
Fri Dec 5 20:13:23 UTC 2014


#9223: Type equality makes type variable untouchable
-------------------------------------+-------------------------------------
              Reporter:  Feuerbach   |            Owner:
                  Type:  bug         |           Status:  new
              Priority:  normal      |        Milestone:
             Component:  Compiler    |          Version:  7.8.2
  (Type checker)                     |         Keywords:
            Resolution:              |     Architecture:  Unknown/Multiple
      Operating System:              |       Difficulty:  Unknown
  Unknown/Multiple                   |       Blocked By:
       Type of failure:              |  Related Tickets:
  None/Unknown                       |
             Test Case:              |
              Blocking:              |
Differential Revisions:              |
-------------------------------------+-------------------------------------

Comment (by goldfire):

 Interesting example! I'm not convinced this is related to the original
 ticket, but it is curious. I do see why !OutsideIn refuses to type-check
 this, in the presence of the GADT pattern-match on `TokIntLit`. But what's
 interesting to me is that I can't come up with a type other than `Token
 TokenType -> Integer` for `foo`. As I note above, usually when we get
 untouchable variable errors, there is an alternate type that could be
 assigned... but here, that doesn't seem to be the case, because the GADT
 pattern-match is happening over an existentially-bound variable.

 I don't know what the fix is here, but it's an interesting case.

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


More information about the ghc-tickets mailing list