A general pattern of classes with inheritance (original) (raw)

(define (class-name parameters) (let ((super (new-part super-class-name some-parameters)) (self 'nil)) (let ((instance-variable init-value) ...)

 (define (method _parameter-list_)
   _method-body_)
 ...
   
 (define (dispatch message)
   (cond ((eqv? message 'selector) method)
         ...
         (else **(method-lookup super message)**)))
   
 (set! self dispatch))
 

self))