April 01, 2004
Building Little Languages with Macros
(a)
(define-syntax define-cbr
(syntax-rules ()
((_ (id arg ...) body)
(begin
???
(define-syntax id
(syntax-rules ()
((id actual (... ...))
(do-f (lambda () actual)
(... ...)
(lambda (v)
(set! actual v))
(... ...)) )))))))
(b)
(define (do-f get set)
(define-get/set-var arg get set)
body)
Example 9: define-cbr macro that expands.
|
|
||||||||||||||||||||||||||||
|
|