[squeak-dev] Stripping vs. Assembling

Frank Shearar frank.shearar at gmail.com
Thu Aug 1 14:19:49 UTC 2013


On 1 August 2013 15:03, Frank Shearar <frank.shearar at gmail.com> wrote:
> On 1 August 2013 14:45, Jecel Assumpcao Jr. <jecel at merlintec.com> wrote:
>> 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:

Abstract interpretation is one type inference technique (see Shivers'
and Might's work on CFA and k-CFA). But I just forgot that Agesen
doesn't use this technique. His paper on the type inference algorithm
he uses is "Concrete Type Inference: Delivering Object-Oriented
Applications". Francisco Garau ported the techique to Squeak for his
Master's thesis, and Santiago Bragagnolo continued the work in Pharo.

frank

>> 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
>
> Yes! That's the one!
>
> frank
>
>> 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