[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: specializer metaobjects
- To: kanderso@DINO.BBN.COM
- Subject: Re: specializer metaobjects
- From: Gregor Kiczales <gregor@parc.xerox.com>
- Date: Mon, 5 Nov 1990 11:36:07 PST
- Cc: mop.PARC@xerox.com
- Fake-sender: gregor@parc.xerox.com
- In-reply-to: "kanderso@DINO.BBN.COM's message of Mon, 5 Nov 1990 08:25:24 PST <90Nov5.081155pst.16565@alpha.xerox.com>"
Date: Mon, 5 Nov 1990 08:25:24 PST
From: kanderso@DINO.BBN.COM
Defmethod should really by written in terms of a gf like:
(intern-specialize specializer)
(defmethod intern-specializer ((s symbol))
(find-class s))
right?
Yes, some extensible DEFMETHOD parsing facility would be better. As I
said in my message to Scott, I think it would be better to handle that
as part of a full-fledged UI macro processing facility.
Question:
(defmethod foo (z (slot a bar)) ...) is a method specialized for
objects that have (eq (class-of (slot-value z 'a)) (find-class 'bar)).
(intern-specializer '(slot a bar)) returns an instance of class
'slot-specializer.
How to refer to this class to specialize methods on it?
(defmethod ((s (eql (intern-specializer '(slot a bar))))) ...) ?
or do we have a specializer for specializers:
(defmethod ((s (specializer '(slot a bar)))) ...)
I guess I don't understand what you are trying to do here.