
#12131: Can't solve constraints with UndecidableSuperClasses but can infer kind (+ undesired order of kinds) -------------------------------------+------------------------------------- Reporter: Iceland_jack | Owner: Type: bug | Status: new Priority: normal | Milestone: Component: Compiler (Type | Version: 8.0.1 checker) | Keywords: Resolution: | UndecidableSuperClasses, TypeInType Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: #11480 #12025 | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Comment (by goldfire): 1. `:kind` is much simpler than `:type`. `:kind` just reports the kind of the thing it sees. `:type`, on the other hand, instantiates, solves, and regeneralizes. It's the solver that's looping, so that's why only `:type` fails. (See #11376 for more info about why `:type` does this, and #11975 for a proposed refinement of `:type` that will allow `:kind`-like behavior.) 2. I think the algorithm that walks over the kind of a tycon and pulls out undeclared kind variables gets this backwards. I'm pretty sure that this has been reported elsewhere, but I can't find the ticket. In any case, I don't think anything deep is going on here. Let's not lose the big picture, though: the real problem in this ticket is that the solver loops, and that's what needs to be addressed. (I don't have further commentary on that point.) -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/12131#comment:4 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler