Apparant STklos class precedence problem
I have a class heirarchy resembling the following:
(define-class <a> () ())
(define-class <b> () ())
(define-class <c> (<b>) ())
(define-class <d> (<c> <a>) ())
(define-method m ((self <a>)) (display "I'm an <a>") (newline))
(define-method m ((self <b>)) (display "I'm a <b>") (newline))
Now if I create a <c> and a <d> and pass them to m:
(m (make <c>))
(m (make <d>))
I see
I'm a <b>
I'm an <a>
It seems to me that d should be a <b>, because <c> comes before <a>
in the definition of <d>, and <b> should come before <a> because CLOS
is supposed to keep the <c> family tree together. Isn't this right?
Received on Fri Nov 11 1994 - 23:41:58 CET
This archive was generated by hypermail 2.3.0
: Mon Jul 21 2014 - 19:38:59 CEST