[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Instance variables
Date: 19 Nov 84 14:35 PST
From: Kahn.pa@XEROX.ARPA
Sorry I wasn't too clear.
Okay, let's try again.
[- Would Flavors people please discourse upon the difference between
the
3600 and CADR implementations of flavors, with respect to the point
that
in the CADR the variable SELF is special but in the 3600 it is
lexical.]
--- I didn't know that self was lexical on the 3600. The question is
how could one implement "self" without hooks into Common Lisp. Is
"self" a hidden instance variable? Can one bind it or set it explictly?
(This may be useful for explicit delagation or forwarding of messsages.)
SELF is just an ordinary variable on the 3600.
[ - Do we want instances of flavors to be usable as functions, with
FUNCALL
and APPLY, or do we want them only to be invocable with SEND?]
--- This is related to the qustion of implementation. Isn't it the case
that on a 3600 FUNCALL and APPLY bind "self" or is this no longer the
case? If it is then perhaps Common Lisp needs a hook to accomplish
this.
SELF is just an ordinary variable on the 3600.
[- What parts of the mechanism for accessing instance variables
supplied
by the proposed Common Lisp object-oriented-programming kernel
should
be hidden, and what parts should be exposed to the portable
programmer?]
---This is an interesting question though I wasn't asking it.
I think you should be, especially since your other questions seem to
presuppose a particular implementation of Flavors. There are many ways
to implement Flavors, and which one is appropriate for a particular
machine depends on characteristics of that machine and on what the
implementors want to do. That's why I believe the proposed Common Lisp
object-oriented-programming kernel should be at a higher level of
abstraction and should not commit itself to a particular mechanism, such
as binding a special variable named SELF or anything else. It should be
possible to implement that kernel in different ways on different
systems.
I'm afraid this discussion is pretty vacuous since it's not focussed on
a specific proposal. I wish I had time to write a treatise on the different
ways to implement Flavors, with four or five case studies, but I don't.
[- Would Flavors people please discourse upon the virtues and/or
uglinesses
of their DEFUN-METHOD feature.]
---This more related to what I was asking a couple of weeks ago.
Should instance variables look like Common Lisp variables and what's
involved in making that work?
It isn't Flavors if they don't. Handerson's proposal discusses what
is involved in making that work.