It's GG

Life is simple...

0 notes

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"

Filed under scheme