[GHC] #10494: Representational equalities over AppTys are not hard failures
GHC
ghc-devs at haskell.org
Wed Sep 9 14:08:46 UTC 2015
#10494: Representational equalities over AppTys are not hard failures
-------------------------------------+-------------------------------------
Reporter: goldfire | Owner: goldfire
Type: bug | Status: merge
Priority: normal | Milestone: 7.10.3
Component: Compiler | Version:
Resolution: fixed | Keywords:
Operating System: Unknown/Multiple | Architecture:
| Unknown/Multiple
Type of failure: None/Unknown | Test Case:
| typecheck/should_compile/T10494
Blocked By: | Blocking:
Related Tickets: | Differential Revisions:
-------------------------------------+-------------------------------------
Comment (by crockeea):
I'm about to release a package that triggers the bug, so it currently has
crufty work-around code that I'd like to kill.
I have a collection of functions that coerce functions of one signature to
functions of another signature. Many of the definitions are simply
`coerce`, but the explicit functions are needed for type inference. Here's
an example:
Instead of writing
{{{
coerceBasis :: (Coercible (o r) (n m' r))
=> Tagged '(m,m') ([o r]) -> Tagged m [n m' r]
coerceBasis = coerce
}}}
I have to write
{{{
coerceBasis :: (a ~ (o r), b ~ (n m' r), Coercible a b)
=> Tagged '(m,m') ([o r]) -> Tagged m [n m' r]
coerceBasis = coerce
}}}
introducing two new intermediate type variables and constraints.
Is this enough of a problem to make you go through the work of releasing
7.10.3 just for it? Certainly not. Mostly I was just unsure of the status
of the patch and didn't want the original bug to be forgotten. That said,
I *would* like it resolved sooner rather than later. I saw something on
GHC-Devs about releasing builds, which makes a lot of sense to me.
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/10494#comment:9>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list