Can't mix infix operator with prefix - using -XLexicalNegation
Summary
Given the description of proposal 229, and especially the sentence "Under -XLexicalNegation
, prefix -
binds tighter than any infix operator, so that -a % b
is parsed as (-a) % b
regardless of the fixity of %
", I would expect a % -b
to be parsed as a % (-b)
.
However, let a = 4; b = 6 in a % -b
results in
<interactive>:9:21: error:
Precedence parsing error
cannot mix `%' [infixl 7] and prefix `-' [infixl 6] in the same infix expression
Steps to reproduce
In GHCi, enter :seti -XLexicalNegation
, import Data.Ratio
, and then let a = 4; b = 6 in a % -b
.
Expected behavior
Parse a % -b
as a % (-b)
, resulting in (-2) % 3
.
Environment
- GHC version used: 9.3.20210506
Optional:
- Operating System: Arch in WSL2 on Windows 10
- System Architecture: x64