[GHC] #10009: type inference regression when faking injective type families
GHC
ghc-devs at haskell.org
Sat Jun 13 18:17:24 UTC 2015
#10009: type inference regression when faking injective type families
-------------------------------------+-------------------------------------
Reporter: aavogt | Owner:
Type: bug | Status: closed
Priority: highest | Milestone: 7.12.1
Component: Compiler (Type | Version: 7.10.1-rc1
checker) | Keywords:
Resolution: fixed | Architecture:
Operating System: Unknown/Multiple | Unknown/Multiple
Type of failure: GHC rejects | Test Case:
valid program | Blocking:
Blocked By: | Differential Revisions:
Related Tickets: #10226 |
-------------------------------------+-------------------------------------
Changes (by thoughtpolice):
* status: merge => closed
* resolution: => fixed
* milestone: 7.10.2 => 7.12.1
Comment:
Sigh, so unfortunately I've spent some more time futzing around with the
patch, and I just don't think it can be merged in a sensible way without
even more work. And even though the work seems doable I'm just very averse
to the risk of it at this point, I'm afraid. I think I've even got the
redundant superclass constraint patch building, but I'm just not sure it's
worth it.
This is most certainly a regression but realistically I'm not sure how
much it will come up. There have been three users who want it (Adam, Adam
and Wolfgang) and who have reported it as "please fix" AFAICS, but as
Simon originally said it shouldn't affect much code, and we didn't hold
the original release up for this bug anyway.
Unless there is overwhelming evidence this is a common and game breaking
bug that has cropped up in practice (which I'm really not sure of!), I've
decided to leave this out of the release candidate, and subsequently, the
final release.
Wolfgang, I sincerely apologize for this as it is not an easy thing for
you to work around in your paper or library, and I understand it's
suboptimal (and even frustrating). But I would rather ship the significant
improvements we have now for even more users to make things better. I'm
sorry this one missed the boat.
FTR, I tried merging in the redundant superclass constraints patch (since
the improvement patch was dependent on it), which on its own has actually
proved to be a bit difficult. But I'm just getting more risk aversive to
this - these patches also have tons of knock on changes like error
messages (which are merely a hassle), but even worse, further bugfixes of
their own in more patches later - which I'd have to track, adopt and make
sure are fixed. And even then, _none_ of these patches are in a released
compiler - there's been churn here from Simon recently. It's not clear
when to _stop_.
So it's impossible to tell if I should pick up *just* that patch, or that
patch + 10 others because the intermediate states are all variously
broken, or that patch + the next 5 'bugfix + refactor' patches are good
enough. Once I've pushed these two, I'm just not sure how *many more* I'll
have to push.
So I'm moving this to 7.12.1 and closing it. Simon, please re-open if you
think there's more work to be done here. Again, I apologize for the lead-
on with this one, but after getting closer and closer, it simply does not
seem worth it I'm afraid.
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/10009#comment:36>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list