[squeak-dev] Stripping vs. Assembling

Jecel Assumpcao Jr. jecel at merlintec.com
Thu Aug 1 13:45:01 UTC 2013


Frank Shearar wrote:

> I'm prepared to be argued over to agreeing with you, which means that
> at the moment I don't :). The reason is that I don't see a car factory
> inside my car: the car factory assembles a bunch of bits and gives me
> a car. (This is one of the things that annoys me about Metacello: I
> don't want to see ConfigurationOfs in my image.)

But there is a bacteria factory inside a bacteria :-)

That doesn't mean that I don't prefer Smalltalks that grow (like
Smalltalk Express, a.k.a. Smalltalk V/Win) to those you have to strip.

> Stripping is _hard_. Just look at all the Self literature. (My brief
> Googling has failed me, but I did read an interesting approach in
> connection with abstract interpretation.) Well. It's very easy to
> remove things from an image. The problem is removing only the bad bits
> and leaving the good bits.

The automatic approach was based on type inference rather than abstract
interpretation:

http://selflanguage.org/documentation/published/gold.html
"Sifting Out the Gold: Delivering Compact Applications From an
Exploratory Object-Oriented Environment"
Ole Agesen and David Ungar

There is also David Ungar's work on the Transporter where users have to
manually annotate objects so they can be moved between images. This can
be combined with the fact that the Self VM can start with a very minimal
"empty world" and bootstrap from a bunch of text files (the text to
bytecodes compiler is in the VM instead of the image) to deliver a
stripped down system with just the application. But I think that the
automatic solution in the above paper is more interesting for this
discussion.

-- Jecel



More information about the Squeak-dev mailing list