[GHC] #11307: Regresssion: parsing type operators
GHC
ghc-devs at haskell.org
Wed Dec 30 14:38:17 UTC 2015
#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
More information about the ghc-tickets
mailing list