SELFish questions

kjx at kjx at
Mon Oct 1 06:28:03 UTC 1990

I am currently looking for a language in which to build a system for
my doctoral thesis, and am (of course) considering Self. The thesis
work is animating the execution of OO programs. Essentially extending
something like the current Self ui so that it could display the low
level objects while the program was running, and also display objects
with user-defined abstract views. This (depending on how long the rest
takes) integrated into a nice programming environment.

However there are a few questions about self I would like to ask ...

* When is the source likely to be released ?  Depending on our
equipment allocation I am probably going to have access to HP300/400
machines rather than suns. How hard would a port to a 68030 HP400 be
(leaving out pixrect). Basically just a recompilation of the sun3
version ? (people here have ported various things such as sml, russel,
to hp300 from suns, usually with minimal trouble).

Assuming you would release the source, there are several other changes
it would need. I am happy to do this stuff myself, but would
like to know how tricky they would be (if at all possible).

* How hard (given source) would an X interface be ? (I've used GNU
Smalltalk STIX and written Xlib stuff in C). I realise that you need
the speed of pixrect but we only have small suns here, and all the
major graphics resources are X based. 

* The programming primitives (_DefineSlots and friends) 
fixed (as per the manual) to continue with the program.
I have several strange ideas involving more dynamic compilation
(keeping the animation and application code separate, then use the
automagic compiler to inline all the nasty stuff) - it seems that this
would make a windowing environment easier to build (but if I'm going
to hell on a X bicycle I'll have to rewrite the top level anyway).

* (And the _really horrible question_) I would need most of a Become:
primitive.  I notice that _DefineSlots: does half a become but then
throws away the reference to the original slot contents (which,
unfortunately, I need). 

Finally, of course, do you consider Self a safe choice ? The other
systems I am considering (GNU or ParcPlace Smalltalk, CLOS, G++) each
have their own advantages and difficulties - for my application I would
prefer Self, given the above. From my reading of the liscence it
seems the release1.0 Self I have is mine to keep (assuming I don't
distribute anything) and, especially with source code, I should be
able to support myself even if you all loose interest or something.

> If you've used Self, then please let us know, especially if there's
> something that bothers you and prevents you from using it all the time

Well, you did ask !

Thanks again for self ..


R James Noble, Graduate Student, Computer Science Department
Victoria University, Box 600, Wellington 1, New Zealand
kjx at

More information about the Self-interest mailing list