Open gwatt opened 9 months ago
https://scheme.com/tspl4/syntax.html#./syntax:s42
The given example is missing set! in the syntax-case literal list:
set!
(let ([ls (list 0)]) (define-syntax a (make-variable-transformer (lambda (x) (syntax-case x () [id (identifier? #'id) #'(car ls)] [(set! _ e) #'(set-car! ls e)] [(_ e ...) #'((car ls) e ...)])))) (let ([before a]) (set! a 1) (list before a ls))) ⇒ (0 1 (1))
As-is, any form like (a _ _) will result in a set! form.
(a _ _)
https://scheme.com/tspl4/syntax.html#./syntax:s42
The given example is missing
set!
in the syntax-case literal list:As-is, any form like
(a _ _)
will result in aset!
form.