
#14010: UndecidableSuperClasses - Could not deduce (Category d) -------------------------------------+------------------------------------- Reporter: int-index | Owner: (none) Type: bug | Status: new Priority: normal | Milestone: Component: Compiler | Version: 8.0.1 Resolution: | Keywords: | UndecidableSuperClasses Operating System: Unknown/Multiple | Architecture: Type of failure: GHC rejects | Unknown/Multiple valid program | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Comment (by int-index):
Can we prove Category d given Category (c,d)? No we cannot.
Yes, we can. The declaration of `Category` is `Super cat => Category cat`, so from `Category (c, d)` we can prove `Super (c, d)`, which reduces to `(Category c, Category d)`. Furthermore, if you study the original code that compiles, you can see that GHC manages to go via a similar route just fine. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/14010#comment:3 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler