From ... From: Erik Naggum Subject: Re: call-next-next-method Date: 1999/08/18 Message-ID: <3143985782199982@naggum.no>#1/1 X-Deja-AN: 514290599 References: mail-copies-to: never Organization: Naggum Software; +47 8800 8879; +1 510 435 8604; http://www.naggum.no Newsgroups: comp.lang.lisp * Shiv | I have made-up an artificial problem that hopefully reflects the | essentials of my actual problem. | | (defclass matrix () | (...)) | | (defclass lower-triangular-matrix (matrix) | (...)) | | (defclass upper-triangular-matrix (matrix) | (...)) | | (defclass square-matrix (lower-triangular-matrix upper-triangular-matrix) | ()) why not simply talk about the parts (defclass square-matrix (matrix) ((lower-triangle :type lower-triangular-matrix) (upper-triangle :type upper-triangular-matrix))) | It would be nice if I could say: | | (defmethod mref ((A square-matrix) (i integer) (j integer)) | (+ (call-next-method) (call-next-next-method))) why is the following the wrong solution? (defmethod mref ((A square-matrix) (i integer) (j integer)) (+ (mref (slot-value A 'lower-triangle) i j) (mref (slot-value A 'upper-triangle) i j))) #:Erik -- (defun pringles (chips) (loop (pop chips)))