Re: [GHC] #14046: “Illegal type synonym family application in instance” is too strict in the presence of functional dependencies

GHC ghc-devs at haskell.org
Sun Jul 30 01:24:14 UTC 2017


#14046: “Illegal type synonym family application in instance” is too strict in the
presence of functional dependencies
-------------------------------------+-------------------------------------
        Reporter:  lexi.lambda       |                Owner:  (none)
            Type:  feature request   |               Status:  new
        Priority:  normal            |            Milestone:
       Component:  Compiler          |              Version:  8.0.1
      Resolution:                    |             Keywords:
Operating System:  Unknown/Multiple  |         Architecture:
 Type of failure:  GHC rejects       |  Unknown/Multiple
  valid program                      |            Test Case:
      Blocked By:                    |             Blocking:
 Related Tickets:  #3485             |  Differential Rev(s):
       Wiki Page:                    |
-------------------------------------+-------------------------------------
Changes (by lexi.lambda):

 * type:  bug => feature request


Comment:

 You’re right in that this isn’t really a bug, so I’ve changed it to a
 feature request. In that framing, I’m still not completely sure why this
 wouldn’t be a reasonable change. The coverage condition itself is
 precedent for weakening of restrictions in the presence of fundeps (in
 that case, instance decidability), and this does not seem meaningfully
 different to me.

 I could be convinced by an example of the sort that SPJ alluded to, in
 which an instance of the form `Multi X (Y a)` behaves differently from `(b
 ~ Y a) => Multi X b`, but I’m not sure sure what such an example would
 look like or how it would differ from a user’s point of view.

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


More information about the ghc-tickets mailing list