April 01, 2004
Building Little Languages with Macros
(a)
(define-get/set-var clock get-time set-time!)
(define-get/set-var pwd getcwd setcwd)
(define-get/set-var user getuid setuid)
...
(b)
(define-syntax define-get/set-var
(syntax-rules ()
((define-get/set-var id get set)
(define-syntax id
(syntax-id-rules (set!)
((set! id e) (set e))
((id a (... ...)) ((get) a (... ...)))
(id (get))))])))
Example 7: Macro-generating macros.
|
|
||||||||||||||||||||||||||||
|
|
|
|