[GHC] #4259: Relax restrictions on type family instance overlap
GHC
cvs-ghc at haskell.org
Fri Aug 20 07:22:42 EDT 2010
#4259: Relax restrictions on type family instance overlap
----------------------------------------+-----------------------------------
Reporter: lilac | Owner:
Type: feature request | Status: new
Priority: normal | Milestone:
Component: Compiler (Type checker) | Version: 6.12.1
Keywords: | Testcase:
Blockedby: 4232 | Difficulty:
Os: Unknown/Multiple | Blocking:
Architecture: Unknown/Multiple | Failure: None/Unknown
----------------------------------------+-----------------------------------
Comment(by chak):
We are always going to miss out on some systems that are, in fact,
confluent. IIRC we don't know whether the system is terminating before we
know whether it is confluent. Hence, a general check for confluence for
family instances is undecidable. All that we can hope to achieve is a
conservative syntactic criterion that ensures confluence (and hence
indirectly, termination). I chose the currently implemented criterion
because it is simple (as in, easily explained) and can be implemented
efficiently in the context of separate compilation.
Maybe there is a more permissive syntactic criterion that we can use, but
I believe it must be simple (and hence, not fragile) and we need to make
sure we can implement it efficiently in an incremental fashion (due to the
incremental loading of modules, and hence, extension of the rule set).
--
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/4259#comment:5>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the Glasgow-haskell-bugs
mailing list