[GHC] #8634: Relax functional dependency coherence check ("liberal coverage condition")

GHC ghc-devs at haskell.org
Thu Sep 11 22:29:45 UTC 2014


#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


More information about the ghc-tickets mailing list