fixity resolution
Christian Maeder
Christian.Maeder at dfki.de
Tue Jul 6 13:12:22 EDT 2010
http://www.haskell.org/~simonmar/haskell-2010-draft-report-2/haskellch10.html#x17-17300010
"Fixity resolution also applies to Haskell patterns, but patterns are a
subset of expressions so in what follows we consider only expressions
for simplicity."
The string "1 * - 1" is legal as pattern, but rejected as expression!
Furthermore fixity resolution does not distinguish between constructors
and other operators as it should according to the grammar:
pat → lpat qconop pat (infix constructor)
| lpat
funlhs → var apat { apat }
| pat varop pat
| ( funlhs ) apat { apat }
"a : b * c : d = undefined" is currently rejected with:
"cannot mix `:' [infixr 5] and `Main.*' [infixl 9] in the same infix
expression"
but should be fine by the given grammar (rule "pat varop pat").
Cheers Christian
P.S. like in my proposal for infixexp I would change pat to:
pat → pat qconop pat (infix constructor)
| lpat
for the sake of a better presentation only.
More information about the Haskell-prime
mailing list