Re: CLOS question
- From: Rainer Joswig <joswig@xxxxxxx>
- Date: Mon, 30 Jul 2007 00:19:04 +0200
In article <1185747319.410983.157740@xxxxxxxxxxxxxxxxxxxxxxxxxxxx>,
Scott Burson <FSet.SLB@xxxxxxxxx> wrote:
On Jul 29, 3:09 pm, Rainer Joswig <jos...@xxxxxxxxxxxxxx> wrote:
In article <1185746464.124847.288...@xxxxxxxxxxxxxxxxxxxxxxxxxxx>,
Scott Burson <FSet....@xxxxxxxxx> wrote:
This suggests to me that you have analyzed your domain incorrectly.
It would seem that D is not really a subclass of C if you don't want
it to inherit the full behavior of M.
Why that? Each more specific primary method blocks the
less specific primary method. Thus you are not inheriting
the whole functionality. Sure, you can call the next method,
but by default this is not done. Overwriting less specific
functionality is a capability provided for primary
methods. Just not for :before and :after methods. But those
were design decisions for the standard method combination.
If D is a subclass of C, then although D may override a primary method
of C, D's method should maintain all the invariants that C's method
does.
'should'. That's a design decision.
There is nothing in CLOS that enforces or requires that.
Demon methods are a handy way of maintaining invariants. It
doesn't sound right to me that C would have some invariant that it is
maintaining with a demon method, and yet that invariant doesn't apply
to one of its subclasses.
-- Scott
--
http://lispm.dyndns.org
.
- Follow-Ups:
- Re: CLOS question
- From: Scott Burson
- Re: CLOS question
- References:
- CLOS question
- From: Rob St. Amant
- Re: CLOS question
- From: Scott Burson
- Re: CLOS question
- From: Rainer Joswig
- Re: CLOS question
- From: Scott Burson
- CLOS question
- Prev by Date: Re: I symbolics still selling machines? does anyone use the lisp genera os?
- Next by Date: Re: CLOS question
- Previous by thread: Re: CLOS question
- Next by thread: Re: CLOS question
- Index(es):
Relevant Pages
|