[self-interest] Modifying Software
Jecel Assumpcao Jr
jecel at merlintec.com
Thu Aug 26 16:53:44 UTC 2004
On Thursday 26 August 2004 13:23, Ian Woollard wrote:
> Jack Waugh wrote:
> >Self has no classes, and I suppose most programmnig modification is
> >done by changing slots in the Lobby or by changing the objects
> >(usually prototypes) to which those Lobby slots refer.
>
> Yes, so in a pretty real sense, in fact Self *has* classes.
Perhaps it would be better to say that Self can have classes whenever
you need them.
> >So in Self,
> >and in the actual practice of typical Self programmers, and with the
> >support of typical Self programming environments, is there any way
> > to modify software so that many existing objects change their
> > behavior to reflect the modification?
>
> Most of the objects in the system inherit their behaviours off a
> group of objects that are linked from the Traits object. Modifying
> these Traits' objects immediately changes the behaviours of all such
> objects.
A good discussion of these issues can be found in
http://research.sun.com/self/papers/organizing-programs.html
and
http://research.sun.com/self/papers/parents-shared-parts.html
The basic idea is that you can organize objects in such a way that a
change to one will be "felt" in a specific group. This does require a
little planning, or at least following some typical design patterns in
your organization.
But there is one exception, however. When you edit a method from inside
the debugger, the system does not only change that specific object
(affecting all of its "children" too) but supposes that you really want
to change any object that that was cloned from the same prototype as
the current one since you are probably fixing a bug. A little bit of
Kevo lost inside Self, I suppose :-)
-- Jecel
More information about the Self-interest
mailing list