<b>(a)</b> (define-get/set-var clock get-time set-time!) (define-get/set-var pwd getcwd setcwd) (define-get/set-var user getuid setuid) ... <b>(b)</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.