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