Back to slide -- Keyboard shortcut: 'u'                      class-template-functions.scm - Accompanying functions for instantiation and message passing.Lecture 3 - slide 4 : 43
Program 1

(define (new-instance class . parameters)
  (apply class parameters))

(define (send message object . args)
  (let ((method (method-lookup object message)))
    (cond ((procedure? method) (apply method args))
          (else (error "Error in method lookup " method)))))

(define (method-lookup object selector)
 (cond ((procedure? object) (object selector))
       (else
         (error "Inappropriate object in method-lookup: "
                 object))))