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

GHC ghc-devs at haskell.org
Mon Jul 14 18:36:10 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:  None/Unknown    |  Related Tickets:  #1241, #2247, #8356
       Test Case:                  |
        Blocking:                  |
-----------------------------------+---------------------------------------

Comment (by goldfire):

 I take back my claim that `-XDysfunctionalDependencies` cannot cause type
 errors. While it's true that fundeps do not exist in Core, it's
 conceivable that dysfundeps could cause invalid Core to be produced,
 leading to errors caught by `-dcore-lint`. I have not thought this out in
 great detail, but I think I was too quick to judgment in comment:7.

 To summarize: it's possible that dysfundeps are type-safe, and it's
 possible that they are not. I have not thought hard enough about the
 problem to stake a claim on one answer or another: my reasoning in
 comment:7 is bogus, though perhaps my conclusion is correct. In any case,
 I don't wish to be cited as the person who thinks that these are safe! :)

 I still ''do'' think that, if someone discovers these ''are'' safe, they
 might become an interesting tool.

--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/8634#comment:11>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler


More information about the ghc-tickets mailing list