[self-interest] Modifying Software

Jecel Assumpcao Jr jecel at merlintec.com
Thu Aug 26 21:31:51 UTC 2004

On Thursday 26 August 2004 15:10, Ian Woollard wrote:
>  Jecel Assumpcao Jr wrote:
> Perhaps it would be better to say that Self can have classes whenever
> you need them.
>  You often don't *need* classes in Self, just like you never *need*
> methods, in either case you can always inline manually, within the
> object or the method, respectively.
>  Self can have 'classes' whenever you *want* them- which is nearly
> always in my experience.

When I started using Self graphically, I would always create an empty 
object like this

  (| parent* = (| parent* = traits clonable |) |)

and then start editing it, adding instance-like stuff in the child 
object and class-like things in its parents. But I had picked up this 
habit when using the previous, textual versions of Self. Yet moving 
slots around in the GUI is easy compared to cut/paste of the equivalent 
text (specially when using the line oriented vi).

 "Premature optimization is the root of all evil"
        - Carl Hoare

 "We should forget about small efficiencies, say about 97% of
  the time: premature optimization is the root of all evil"
        - Donald Knuth

So my current style is to start with a proper empty object and stuff 
everything there. Obviously this is a problem if I make clones and then 
wish to fix or add things, but in that case what I normally do is throw 
away the old clones and make new ones (see the "atoms with variable 
colors" example in the Self movie). When I find that I want to share 
things with objects that are not exact clones, then I create a parent 
and move the common stuff there.

-- Jecel

More information about the Self-interest mailing list