Lecture overview -- Keyboard shortcut: 'u'  Previous page: A general pattern of classes -- Keyboard shortcut: 'p'  Next page: A general pattern of classes with inheritance -- Keyboard shortcut: 'n'  Lecture notes - all slides together  Annotated slide -- Keyboard shortcut: 't'  Alphabetic index  Help page about these notes  Course home    Simulation of other Paradigms and Continuations - slide 5 : 43

Example of the general class pattern
The Point class redefined to comply with the general class pattern
(define (point x y)
 (let ((x x) 
       (y y)
      )
     
   (define (getx) x)

   (define (gety) y)

   (define (add p) 
    (point 
     (+ x (send 'getx p))
     (+ y (send 'gety p))))

   (define (type-of) 'point)
     
   (define (self message)
     (cond ((eqv? message 'getx) getx)
           ((eqv? message 'gety) gety)
           ((eqv? message 'add)  add)
           ((eqv? message 'type-of) type-of)
           (else (error "Message not understood" message))))
     
   self))
point-class-all.scm
All the necessary stuff to play with Point.
point-dialogue
A sample construction and dialogue with point.