On 07/07/2010 18:03, Christian Maeder wrote:
Simon Marlow schrieb:
[...]
1. "- 1 * 1" is accepted as legal pattern, but differently resolved for
expressions! Should one not reject these (rare) patterns, too?
That's the GHC bug, right?
Yes!
Just a meta point, but it would help me a great deal if you could
clearly separate discussion of what GHC does from discussion of the
standard, i.e. by using the different mailing lists.
2. I would rather allow "1 * - 1" and "1 + - 1" to be legal as
expressions (with its unambiguous interpretation).
Yes, me too, but that's a matter for a new proposal.
3. Associativity should not matter for the non-binary "-"!
So the following resolutions are possible:
"1 + - 2 + 3" ~~~> "(1 + -2) + 3"
"1 + - 2 * 3" ~~~> "1 + -(2 * 3)"
infix 6 ## -- same precedence like "+" but different associativity
"- 1 ## 2" ~~~> "(-1) ## 2"
Yes, again I agree. The current fixity resolution is more strict than
it needs to be. The intention in Haskell 2010 was not to change the way
fixity resolution worked, but rather to avoid the problems caused by
having it as part of the grammar.
The grammar (in particular an ambiguous one) describes a superset of the
language and need not change with a changed fixity resolution (or type
analysis).
Please make a proposal (or proposals), then we can discuss exactly the
changes you'd like to make.
Cheers,
Simon
_______________________________________________
Haskell-prime mailing list
Haskell-prime@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-prime