diff options
Diffstat (limited to 'src/Control/Monad/Combinators/FailExpr.hs')
-rw-r--r-- | src/Control/Monad/Combinators/FailExpr.hs | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/Control/Monad/Combinators/FailExpr.hs b/src/Control/Monad/Combinators/FailExpr.hs index 045bd00..0b4b063 100644 --- a/src/Control/Monad/Combinators/FailExpr.hs +++ b/src/Control/Monad/Combinators/FailExpr.hs @@ -20,6 +20,16 @@ where -- Notes: -- * We can merge any operators of the same precedence and associativity. -- (TODO?) +-- * CONSIDER: Support unary (prefix) operators. +-- - Not deemed too useful, because we believe that unary (prefix) +-- operators should always have highest precedence. +-- - Consider the common boolean `!`. +-- - One might want to parse `! 3 == 3` as `! (3 == 3)`, which would +-- require `!` to have a specific precedence (lower than `==`). +-- - However, `! true == true`, should certainly be parsed as +-- `(! true) == true`. +-- - We currently do not support different precedence based on the +-- operands' types, and that seems generally difficult. import Prelude hiding (exp) |