[GHC] #10056: Inconsistent precedence of ~
GHC
ghc-devs at haskell.org
Sun Feb 1 17:30:35 UTC 2015
#10056: Inconsistent precedence of ~
-------------------------------------+-------------------------------------
Reporter: crockeea | Owner:
Type: bug | Status: new
Priority: normal | Milestone:
Component: Compiler | Version: 7.8.4
(Parser) | Keywords:
Resolution: | Architecture:
Operating System: Unknown/Multiple | Unknown/Multiple
Type of failure: GHC rejects | Test Case:
valid program | Blocking:
Blocked By: | Differential Revisions:
Related Tickets: |
-------------------------------------+-------------------------------------
Comment (by crockeea):
Replying to [comment:1 htebalaka]:
> I ''thought'' that infix type operators took the same precedence as
their value level versions
I'm not sure what you mean by "value level versions". Surely you wouldn't
expect the precedence of your type family `(+) :: * -> * -> *` be related
in any way to the function `(+) :: (Num a) :: a -> a -> a`.
If I set up two type families
{{{!#hs
type family Foo a b
type family a \\ b
infixr 9 \\
}}}
we can ask GHCi
> `:kind 'Int \\ Int 'Foo' Int` (can't figure out how to put backticks on
Foo here)
and it will complain that I can't mix an `infixr 9 \\` with `infixl 9
'Foo`, so this indicates that the infix version of `Foo` has the same
precedence as the prefix version.
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/10056#comment:2>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list