diff options
| author | Marshall Lochbaum <mwlochbaum@gmail.com> | 2022-06-30 13:37:57 -0400 |
|---|---|---|
| committer | Marshall Lochbaum <mwlochbaum@gmail.com> | 2022-06-30 13:37:57 -0400 |
| commit | 97ecfc641e5f4a5ee8aef981fdee2d9ec00b24e0 (patch) | |
| tree | dcb6be7f870db723e9215a4f23f06e29233985ad /spec | |
| parent | c976d6a0386e9bf4342de3e55d396fce3e97fbd7 (diff) | |
Can't have aliases in modified assignment either
Diffstat (limited to 'spec')
| -rw-r--r-- | spec/evaluate.md | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/spec/evaluate.md b/spec/evaluate.md index 1a4e4669..97791aba 100644 --- a/spec/evaluate.md +++ b/spec/evaluate.md @@ -36,7 +36,7 @@ Assignment to `lhsArray` destructures the major cells of right-hand-side value ` A destructuring assignment is performed in program order, or equivalently index order, with each sub-assignment fully completed before beginning the next (a depth-first order). Thus if an assignment with `↩` encounters an error but it's caught with `⎊`, some of the assignment may have already been performed, changing variable values. -*Modified assignment* is the subject assignment rule `lhs Derv "↩" subExpr?`. This case results in an error if `lhs` contains `"·"` or an empty `lhsArray` node (one with no `LHS_ELT` components). With these conditions, the grammar for `lhs` is a subset of `subExpr`; the node is evaluated as if it were a `subExpr`, and passed as an argument to `Derv`. The full application is `lhs Derv subExpr`, if `subExpr` is given, and `Derv lhs` otherwise. Its value is assigned to `lhs`, and is also the result of the modified assignment expression. +*Modified assignment* is the subject assignment rule `lhs Derv "↩" subExpr?`. This case results in an error if `lhs` contains `"·"`, `"⇐"`, or an empty `lhsArray` node (one with no `LHS_ELT` components). With these conditions, the grammar for `lhs` is a subset of `subExpr`; the node is evaluated as if it were a `subExpr`, and passed as an argument to `Derv`. The full application is `lhs Derv subExpr`, if `subExpr` is given, and `Derv lhs` otherwise. Its value is assigned to `lhs`, and is also the result of the modified assignment expression. ### Expressions |
