[GHC] #8883: FlexibleContexts checking should happen also on inferred signature
GHC
ghc-devs at haskell.org
Tue Apr 22 08:34:32 UTC 2014
#8883: FlexibleContexts checking should happen also on inferred signature
------------------------------------------------+--------------------------
Reporter: Blaisorblade | Owner:
Type: bug | jstolarek
Priority: normal | Status: closed
Component: Compiler | Milestone:
Resolution: fixed | Version: 7.6.3
Operating System: Unknown/Multiple | Keywords:
Type of failure: None/Unknown | Architecture:
Test Case: typecheck/should_fail/T8883 | Unknown/Multiple
Blocking: | Difficulty:
| Unknown
| Blocked By:
| Related Tickets:
------------------------------------------------+--------------------------
Comment (by Lemming):
Replying to [comment:17 simonpj]:
> I can't get terribly excited about this decision; but I can see the
logic, and I'll gladly change the current behaviour if there is support
for doing so. (This would affect both inferred and declared types, of
course.)
As I said, you cannot eliminate all `FlexibleContexts` using an auxiliary
variable.
You cannot convert
{{{class (Functor (PF a)) => C a where}}}
to
{{{class (Functor b, b ~ PF a) => C a where}}}
because you cannot introduce the variable `b` in the superclass
constraint.
Thus features provided by `FlexibleContexts` cannot always be achieved by
`TypeFamilies`, and thus `FlexibleContexts` should not be a "superfeature"
of `TypeFamilies`.
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/8883#comment:19>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list