Lambda the Ultimate Object オブジェクトとしてのlambda (define (make-person first-name last-name occupation age) (lambda (msg . args) (case msg ((get-full-name) (string-append first-name " " last-name)) ((get-occupation) occupation) ((get-age) age) ((grow-older) (inc! age)) ((change-occupation) (set! occupation (car args))) ((bear-child) (make-person (car args) last-name #f 0)))))