|
92 | 92 |
|
93 | 93 | (define (expand-update-operator op lhs rhs)
|
94 | 94 | (let ((e (remove-argument-side-effects lhs)))
|
95 |
| - `(block ,@(cdr e) (= ,(car e) (call ,op ,(car e) ,rhs))))) |
| 95 | + `(block ,@(cdr e) |
| 96 | + (= ,(car e) (call ,op ,(car e) ,rhs))))) |
96 | 97 |
|
97 | 98 | ; (a > b > c) => (&& (call > a b) (call > b c))
|
98 | 99 | (define (expand-compare-chain e)
|
|
866 | 867 | ,body))))))
|
867 | 868 |
|
868 | 869 | ; update operators
|
869 |
| - (pattern-lambda (+= a b) (expand-update-operator '+ a b)) |
870 |
| - (pattern-lambda (-= a b) (expand-update-operator '- a b)) |
871 |
| - (pattern-lambda (*= a b) (expand-update-operator '* a b)) |
872 |
| - (pattern-lambda (.*= a b) (expand-update-operator '.* a b)) |
873 |
| - (pattern-lambda (/= a b) (expand-update-operator '/ a b)) |
874 |
| - (pattern-lambda (./= a b) (expand-update-operator './ a b)) |
875 |
| - (pattern-lambda (//= a b) (expand-update-operator '// a b)) |
876 |
| - (pattern-lambda (.//= a b) (expand-update-operator '.// a b)) |
877 |
| - (pattern-lambda (|\\=| a b) (expand-update-operator '|\\| a b)) |
878 |
| - (pattern-lambda (|.\\=| a b) (expand-update-operator '|.\\| a b)) |
879 |
| - (pattern-lambda (^= a b) (expand-update-operator '^ a b)) |
880 |
| - (pattern-lambda (.^= a b) (expand-update-operator '.^ a b)) |
881 |
| - (pattern-lambda (%= a b) (expand-update-operator '% a b)) |
882 |
| - (pattern-lambda (|\|=| a b) (expand-update-operator '|\|| a b)) |
883 |
| - (pattern-lambda (&= a b) (expand-update-operator '& a b)) |
884 |
| - (pattern-lambda ($= a b) (expand-update-operator '$ a b)) |
885 |
| - (pattern-lambda (<<= a b) (expand-update-operator '<< a b)) |
886 |
| - (pattern-lambda (>>= a b) (expand-update-operator '>> a b)) |
887 |
| - (pattern-lambda (>>>= a b) (expand-update-operator '>>> a b)) |
| 870 | + (pattern-lambda (+= a b) (expand-update-operator '+= a b)) |
| 871 | + (pattern-lambda (-= a b) (expand-update-operator '-= a b)) |
| 872 | + (pattern-lambda (*= a b) (expand-update-operator '*= a b)) |
| 873 | + (pattern-lambda (.*= a b) (expand-update-operator '.*= a b)) |
| 874 | + (pattern-lambda (/= a b) (expand-update-operator '/= a b)) |
| 875 | + (pattern-lambda (./= a b) (expand-update-operator './= a b)) |
| 876 | + (pattern-lambda (//= a b) (expand-update-operator '//= a b)) |
| 877 | + (pattern-lambda (.//= a b) (expand-update-operator './/= a b)) |
| 878 | + (pattern-lambda (|\\=| a b) (expand-update-operator '|\\=| a b)) |
| 879 | + (pattern-lambda (|.\\=| a b) (expand-update-operator '|.\\=| a b)) |
| 880 | + (pattern-lambda (^= a b) (expand-update-operator '^= a b)) |
| 881 | + (pattern-lambda (.^= a b) (expand-update-operator '.^= a b)) |
| 882 | + (pattern-lambda (%= a b) (expand-update-operator '%= a b)) |
| 883 | + (pattern-lambda (|\|=| a b) (expand-update-operator '|\|=| a b)) |
| 884 | + (pattern-lambda (&= a b) (expand-update-operator '&= a b)) |
| 885 | + (pattern-lambda ($= a b) (expand-update-operator '$= a b)) |
| 886 | + (pattern-lambda (<<= a b) (expand-update-operator '<<= a b)) |
| 887 | + (pattern-lambda (>>= a b) (expand-update-operator '>>= a b)) |
| 888 | + (pattern-lambda (>>>= a b) (expand-update-operator '>>>= a b)) |
888 | 889 |
|
889 | 890 | ;; colon
|
890 | 891 | ;;(pattern-lambda (: a (-/ :)) `(call (top RangeFrom) ,a 1))
|
|
0 commit comments