Program (original) (raw)

(define (x) (let ((super (new-part object)) (self 'nil))

(let ((x-state 1) )

 (define (get-state) x-state)

 (define (res)
   (send 'get-state self))

 **(define (set-self! object-part)**

(set! self object-part) (send 'set-self! super object-part))

 (define (self message)
     (cond ((eqv? message 'get-state) get-state)
           ((eqv? message 'res) res)
           **((eqv? message 'set-self!) set-self!)**
           (else (method-lookup super message))))
 
  self)))  ; end x