
#11307: Regresssion: parsing type operators -------------------------------------+------------------------------------- Reporter: alanz | Owner: Type: bug | Status: new Priority: normal | Milestone: 8.0.1 Component: Compiler | Version: 7.11 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Comment (by goldfire): I think the change from 7.10 to HEAD is an improvement, because 7.10 is illogical with regard to these shenanigans. This is accepted: {{{#!hs {-# LANGUAGE TypeFamilies, TypeOperators #-} module Parse where type family a :++: b infix 5 :++: data a :> b infix 2 :> type instance Int :++: Char :> Bool = Double }}} But in that `type instance`, the `:++:` should really bind tighter, making an instance declaration for `:>`, which is hogwash of course. So 7.10 is ignoring fixities altogether and just looking for the first operator. Better still would be Simon's suggestion, but I'm inclined to call this new behavior a feature, not a bug. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/11307#comment:1 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler