[GHC] #9115: The kind of (=>)
GHC
ghc-devs at haskell.org
Tue Jun 10 18:55:19 UTC 2014
#9115: The kind of (=>)
-------------------------------------+------------------------------------
Reporter: kosmikus | Owner:
Type: feature request | Status: new
Priority: low | Milestone:
Component: Compiler | Version: 7.8.2
Resolution: | Keywords:
Operating System: Unknown/Multiple | Architecture: Unknown/Multiple
Type of failure: None/Unknown | Difficulty: Unknown
Test Case: | Blocked By:
Blocking: | Related Tickets:
-------------------------------------+------------------------------------
Comment (by goldfire):
Here's a reason: normally, if we know `(a b c) ~ (d e f)`, it is
reasonable to conclude `a ~ d`, `b ~ e` and `c ~ f`. But, what if `a` is
really `(=>)`? Could `b` become `(Eq a, Eq [a])` and `e` become `Eq [a]`?
Is it the case that `(Eq a, Eq [a]) ~ Eq [a]`? These are logically
equivalent, but are they equal in the sense of `(~)`? I would hope not.
Indeed, even asking whether `(a => b) ~ (c => d)` right now is forbidden.
There may be a reasonable way forward here, but it's not abundantly
obvious. If you want More Thought put into this, do you have a use case in
mind?
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/9115#comment:1>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list