
#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: | Architecture: Unknown/Multiple Operating System: | Difficulty: Unknown Unknown/Multiple | Blocked By: Type of failure: | Related Tickets: #1241, #2247, None/Unknown | #8356, #9103, #9227 Test Case: | Blocking: | Differential Revisions: Phab:D69 | -------------------------------------+------------------------------------- Comment (by danilo2): Hello Simon, Goldfire! Answering your question Simon - my name is Wojciech DaniĆo :) The situation you describe is really dangerous. Still - I and some people I'm working with belive that `-XDysfunctionalDependencies` would help us. Even more - this is crutial for the project to work and we are using this flag in very specific situations. But there is one more thing to note about our situation. Right now we are using Haskell as a backend to our language. Some specific features are very hard to reach in Haskell so we are slowly moving over our own type checker and compilation directly to Haskell core. If we succeed, we would not need this extension anymore. But this will not happen in very near future and for now this is crutial for the project we are working on. I would vote for treating `-XDysfunctionalDependencies` as `unsafeCoerce` for now and writing in the documentation that it is very dangerous. This way we can limit incorrect bug reports etc. Do you think it makes sense? Wojciech -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/8634#comment:51 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler