Methods
Associate behavior with objects
((x :accessor point-x :initarg :x :initform 0)
(y :accessor point-y :initarg :y :initform 0)))
(defmethod distance ((from point) (to point))
(pythagonize (point-x from) (point-y from)
(point-x to) (point-y to)))
(defun pythagonize (x1 y1 x2 y2)
(let ((dx (- x1 x2)) (dy (- y1 y2)))
(sqrt (+ (* dx dx) (* dy dy)))))