[GHC] #8141: Liberalising IncoherentInstances
GHC
ghc-devs at haskell.org
Fri Aug 30 10:46:57 CEST 2013
#8141: Liberalising IncoherentInstances
-------------------------------------+------------------------------------
Reporter: nomeata | Owner:
Type: feature request | Status: new
Priority: normal | Milestone:
Component: Compiler | Version: 7.6.3
Resolution: | Keywords:
Operating System: Unknown/Multiple | Architecture: Unknown/Multiple
Type of failure: None/Unknown | Difficulty: Unknown
Test Case: | Blocked By:
Blocking: | Related Tickets:
-------------------------------------+------------------------------------
Changes (by simonpj):
* status: closed => new
* resolution: fixed =>
Comment:
I can't quite see from the diffs, but I would like the user manual to
pretty much give the specification in my email:
{{{
More precisely, when trying to find an instance matching a target
constraint (C tys),
a) Find all instances matching (C tys); these are the candidates
b) Eliminate any candidate X for which another candidate Y is
strictly more specific (ie Y is a substitution instance of X),
if either X or Y was complied with -XOverlappingInstances
c) Check that any non-candidate instances that *unify* with (C tys)
were compiled with -XIncoherentInstances
d) If only one candidate remains, pick it.
Otherwise if all remaining candidates were compiled with
-XInccoherentInstances, pick an arbitrary candidate
}}}
I don't think it yet does. I'll take a look.
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/8141#comment:10>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list