
#12787: Weird type constraint with undecidable instances -------------------------------------+------------------------------------- Reporter: nome | Owner: Type: bug | Status: closed Priority: normal | Milestone: Component: Compiler (Type | Version: 8.0.1 checker) | Keywords: Resolution: invalid | UndecidableInstances Operating System: Linux | Architecture: x86_64 Type of failure: GHC rejects | (amd64) valid program | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Comment (by goldfire): No worries about the noise -- and sorry if my initial response was a bit curt. This is confusing territory to be sure! For me, the key that unlocked all of this was to realize that instance selection always ignores contexts. So GHC will choose an instance based only on the instance head (that is, the bit to the right of `=>`). Only then will it try to satisfy the context. More elaborate instance selection control is possible with type families, but I'm afraid I can't find a decent, introductory example of how to do this. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/12787#comment:4 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler