Mixins in Scheme
#lang scheme (define person% (class object% (init name) (super-new) (define current-name name) (define/public (set-name name) (set! current-name name)) (define/public (get-name) current-name))) (define (talkable-person %) (class % (super-new) (define/public (talk) "blah blah"))) (define talking-person% (talkable-person person%)) (define gg (new talking-person% (name "GG"))) (send gg get-name) (send gg talk) bash-3.2$ mzscheme mixin.ss "GG" "blah blah"