Lambda the Ultimate Object (3) Closure ≡ Object mod Syntax こんなふうに書けるマクロを書くことは容易 (define (make-person first-name last-name occupation age) (object (def (get-full-name) (string-append first-name " " last-name)) (def (get-occupation) occupation) (def (get-age) age) (def (grow-older) (inc! age)) (def (change-occupation new-occupation) (set! occupation new-occupation)) (def (bear-child name) (make-person name last-name #f 0))))