| ... | ... | @@ -172,4 +172,6 @@ This (surprisingly) makes "`- a `f` b`" resolve as "`- (a `f` b)`" for any f wit |
|
|
|
|
|
|
|
1. A pattern like "`- 1 `f` b`" must be rejected for ``f`` with high precedence (than 6), because prefix minus is only allowed as part of a constant (see [ http://hackage.haskell.org/trac/ghc/ticket/4176](http://hackage.haskell.org/trac/ghc/ticket/4176))
|
|
|
|
|
|
|
|
1. As a compromise it is also an option to simple reject terms where prefix minus would not bind tightly (enough), which makes sense for `-a ^ b` and would force us to write `-(a ^ b)` or `(-a) ^ b` explicitly. (Of course one would not want to reject "-a \* b", no matter how it is resolved.) |
|
|
|
1. As a compromise it is also an option to simple reject terms where prefix minus would not bind tightly (enough), which makes sense for `-a ^ b` and would force us to write `-(a ^ b)` or `(-a) ^ b` explicitly.
|
|
|
|
|
|
|
|
1. One would not want to reject "-a \* b", no matter how it is resolved, but it would make a difference for ``mod``, i.e. `- 1 `mod` 4`! |