[squeak-dev] Re: Instance variable access in superclasses.

David Zmick dz0004455 at gmail.com
Fri Nov 28 06:26:39 UTC 2008

i like that idea.  if i ever manage to make up my own smalltalk, or my own
language, that will defiantly by considered in making it.
David Zmick

On Thu, Nov 27, 2008 at 11:08 PM, Ralph Boland <rpboland at gmail.com> wrote:

> My idea here is too late for squeak but is food for thought
> for the next great object oriented programming language.
> Instead of using a full fledged message send for accessing
> instance variables we could  use a compromise.
> Lets say that symbol  @  is special and cannot be used as a regular message
> and let  var be an instance variable of a class MyClass and  used in
> MyClass
> method myMethod.
> Then to access var in myMethod we can write:
>        @ var.
> as in:
>       ^ @ var
> or even:
>       @ var := 5.
> With this notation local variables and instance variable are
> distinguishable
> which results in safer and (arguably) more readable code.
> One way of implementing this would be to require that MyClass
> define  instance variable var or an error message would be generated.
> The other way of  doing this would be to not require that MyClass define
> var.  However, if  var is not defined, then myMethod would be abstract and
> unusable
> by MyClass.  Instead only subclasses of MyClass that define
> instance variable var could use the myMethod.  This would mean that
> versions
> of myMethod would need to  be compiled for each subclass that defined var.
> If the additional byte code generated was considered too wasteful then
> one could always use regular message sends.
> I would strongly recommend that  abstract variables (such as var) and
> abstract
> methods somehow be clearly marked.
> I would also recommend that, when var is defined in a subclass,  symbol  @
> be
> placed in front of it to flag that an abstract variable is being made
> concrete
> as opposed to a brand new instance variable being created.
> (calm) opinions welcome.
> Ralph Boland
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20081127/13d208ee/attachment.htm

More information about the Squeak-dev mailing list