
#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