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

GHC ghc-devs at haskell.org
Mon Jul 21 01:20:12 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:              |  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]:
 > No matter which rule we use to ''implement'' the consistency check for
 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


More information about the ghc-tickets mailing list