[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: What are we talking about?
I too like the idea of minimality, of a minimal kernel for building
different object oriented systems on top of. What is a little odd is
that Loops as far as I know requires nothing that Common Lisp doesn't
already provide. The reasons for this are that
(1) objects are not functional objects so Funcall, etc. doesn't work on
them
(2) instance variables are wrapped in a macro call so that neither the
compiler nor interpreter need distinguish instance variables from other
Lisp variables.
(3) self is just passed as an argument so it doesn't need to be set by
any micro-code.
Active values.
How does flavors have active values? Its true that if one sends message
':foo and ':set-foo then via method combination one can do all that
active values do. But its not normal practice to send those messages to
self.
Or do you mean that one can use ZetaLisp's monitor-variable to capture
activeness on updating. If so then what about access?
Defstruct vs Defflavor. I agree with Alan Synder that there is
significant overlap here. I find that too often I start with a
defstruct only to reach some limitation and re-write it as a defflavor.
At least the syntax of the two forms should be as similar as possible to
make it easier to convert. More ambitious merging of the two is
probably very hard.