#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 Iavor S. Diatchki <iavor.diatchki@…>): In [changeset:"97f499b56c5888740ddb147fb198c28a3c06bac7/ghc"]: {{{ #!CommitTicketReference repository="ghc" revision="97f499b56c5888740ddb147fb198c28a3c06bac7" Implement OVERLAPPING and OVERLAPPABLE pragmas (see #9242) This also removes the short-lived NO_OVERLAP pragama, and renames OVERLAP to OVERLAPS. An instance may be annotated with one of 4 pragams, to control its interaction with other overlapping instances: * OVERLAPPABLE: this instance is ignored if a more specific candidate exists * OVERLAPPING: this instance is preferred over more general candidates * OVERLAPS: both OVERLAPPING and OVERLAPPABLE (i.e., the previous GHC behavior). When compiling with -XOverlappingInstances, all instance are OVERLAPS. * INCOHERENT: same as before (see manual for details). When compiling with -XIncoherentInstances, all instances are INCOHERENT. }}} -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/9242#comment:16> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler