
I ''thought'' that infix type operators took the same precedence as
#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]: 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