[GHC] #12088: Type/data family instances in kind checking

GHC ghc-devs at haskell.org
Mon Sep 26 21:24:27 UTC 2016


#12088: Type/data family instances in kind checking
-------------------------------------+-------------------------------------
        Reporter:  alexvieth         |                Owner:
            Type:  bug               |               Status:  new
        Priority:  high              |            Milestone:  8.2.1
       Component:  Compiler (Type    |              Version:  8.1
  checker)                           |
      Resolution:                    |             Keywords:  TypeInType
Operating System:  Unknown/Multiple  |         Architecture:
 Type of failure:  GHC rejects       |  Unknown/Multiple
  valid program                      |            Test Case:
      Blocked By:                    |             Blocking:
 Related Tickets:  #11348, #12239    |  Differential Rev(s):  Phab:D2272
       Wiki Page:                    |
-------------------------------------+-------------------------------------

Comment (by goldfire):

 I'm still unaware of a concrete example that my comment:13 and comment:15
 do not handle.

 During the conversation with Simon and Stephanie at ICFP, we indeed agreed
 on the "separator" solution. Easy to implement, explain, and understand.
 Perhaps slightly annoying, though. However, this conversation took place
 without an ability to get on Trac due to local connectivity challenges,
 and I took Simon's word about the existence of such an example. But now I
 can't find one.

 Perhaps comment:13 and comment:15 are too baroque to implement (I claim:
 it's no worse than lots of other stuff!) and to explain to/understand by
 users (this bit may be an effective argument against my idea). But I'd
 like us to understand why we don't do this idea before we give up and just
 choose the simple (but perhaps annoying) solution.

 Note that comment:13/comment:15 handle the example in comment:19. Because
 `FieldType`'s type depends on `FieldCount`'s, then `FieldType`'s equations
 depend on `FieldCount`'s equations, too. Thus the dependency would be
 caught and the compiler can process the instances in the correct order.

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


More information about the ghc-tickets mailing list