
No matter which rule we use to ''implement'' the consistency check for
#8634: Relax functional dependency coherence check ("liberal coverage condition") -------------------------------------+------------------------------------- Reporter: danilo2 | Owner: Type: feature | Status: new request | Milestone: 7.10.1 Priority: high | Version: 7.7 Component: Compiler | Keywords: Resolution: | Operating System: Unknown/Multiple Differential Revisions: Phab:D69 | Type of failure: None/Unknown Architecture: | Test Case: Unknown/Multiple | Blocking: Difficulty: Unknown | Blocked By: | Related Tickets: #1241, | #2247, #8356, #9103, #9227 | -------------------------------------+------------------------------------- Comment (by goldfire): Replying to [comment:18 diatchki]: the functional-dependency, it is crucial that the rule is ''sound''. Why? As Simon notes above, if FDs are unsound, the programs that we get are still type-correct. There may be class coherence issues and/or fragile compilation (that is, changes in behavior that stem from seemingly- insignificant changes in code), but not outright failure. (By outright failure, I mean "seg fault" or `unsafeCoerce`.) And, in comment:19, I believe danilo2 meant to say that the documentation claims that `-XUndecidableInstances` lifts the Paterson and coverage conditions, but that the documentation is wrong. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/8634#comment:20 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler