[GHC] #13295: Failure to resolve type parameter determined by type family
GHC
ghc-devs at haskell.org
Mon Feb 20 08:42:46 UTC 2017
#13295: Failure to resolve type parameter determined by type family
-------------------------------------+-------------------------------------
Reporter: alexvieth | Owner: (none)
Type: bug | Status: new
Priority: normal | Milestone:
Component: Compiler (Type | Version: 8.0.1
checker) |
Resolution: | Keywords:
Operating System: Unknown/Multiple | Architecture:
Type of failure: GHC rejects | Unknown/Multiple
valid program | Test Case:
Blocked By: | Blocking:
Related Tickets: | Differential Rev(s):
Wiki Page: |
-------------------------------------+-------------------------------------
Comment (by simonpj):
It's not just that GHC doesn't do this kind of reasoning; it's also that
system FC does not (yet, anyway) have a way to express the evidence.
What you want to say is "for any type `t`, `F t` must be equal to `'D s`
for some type `s`". But
* If `F` has no instances that statement isn't true; `F t` isn't equal to
any type other than `F t`.
* Even if it does, we'd need an axiom of form
{{{
forall t. F t ~ (exists s. 'D s)
}}}
and we have no such form.
So I think this is well out of reach just at the moment. Not wrong; just
out of reach.
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/13295#comment:2>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list