#9242: Implement {-# OVERLAPPABLE #-} and {-# INCOHERENT #-} pragmas -------------------------------------+------------------------------------- Reporter: simonpj | Owner: diatchki Type: feature | Status: new request | Milestone: Priority: normal | Version: 7.8.2 Component: Compiler | Keywords: Resolution: | Architecture: Unknown/Multiple Operating System: | Difficulty: Unknown Unknown/Multiple | Blocked By: Type of failure: | Related Tickets: None/Unknown | Test Case: | Blocking: | Differential Revisions: | -------------------------------------+------------------------------------- Comment (by Simon Peyton Jones <simonpj@…>): In [changeset:"dff0623d5ab13222c06b3ff6b32793e05b417970/ghc"]: {{{ #!CommitTicketReference repository="ghc" revision="dff0623d5ab13222c06b3ff6b32793e05b417970" Implement the final change to INCOHERENT from Trac #9242 The change here is to make INCOHERENT slightly more permissive: if the selected candidate is incoherent then ignore all unifying candidates This allows us to move the {-# INCOHERENT #-} pragma from from instance Typeable (f a) to Typeable (n:Nat) and Typable (s:Symbol) where it belongs, and where Trac #9242 said it should be. I don't think this will affect anyone. I've updated the user manual. }}} -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/9242#comment:35> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler