[Pharo-dev] Pharo bootstrap with Ring and Calypso

Ben Coman btc at openinworld.com
Fri Feb 24 09:58:15 EST 2017

On Fri, Feb 24, 2017 at 8:36 PM, Pavel Krivanek <pavel.krivanek at gmail.com>

> Hi,
> I have published a short video of the Pharo bootstrapping from a Ring
> model that is browsed and modified by the Calypso browser.
> https://www.youtube.com/watch?v=QguZSPKo7-w
> No audio, please enable subtitles for the description.
Wow wow wow !! Super-cool !!
I had to watch it a few times.
314k image is pretty impressive.

Just to clarify, Calypso is not connected to a remote image but browses the
bootstrap source code loaded into a Ring Environment?  (btw, should we call
this a "guest environment"?)

When you show the previously opened window "Methods with a string aText
'Smalltalk run' ..."
showing PBImageBuilder50 >> initializeImage,
that was opened before you created the new Ring Environment and Calypso was
so can I presume it was opened on a similar Ring Environment created

There were no processes in the guest image prior to doing this...
    process := objectSpace
        createProcessWithPriority: 40
        doing: ('Smalltalk primitiveGarbageCollect. Smalltalk run').
    objectSpace installActiveProcess: process.
so this was a single process Image?

You say "The image must contain support for the class builder to be able to
be bootstrapped."
When you create the SmalltalkImage>>run method in the guest environment, is
that actually *running* to compiled as normal using its class builder?

How difficult would it be for the guest image to invoke class builder via
seamless in the host image?
And how much smaller could the image get if the class builder was removed.

It could be cool if this bootstrap creation process was integrated in
PharoLauncher as a GUI tool.  Then later the ability to download these
mini-image to an embedded controller could be added.

cheers -ben

P.S. Could you maybe blog this also, to make it easier to replicate and
copy-paste the Playground text.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.pharo.org/pipermail/pharo-dev_lists.pharo.org/attachments/20170224/2ad30a88/attachment.html>

More information about the Pharo-dev mailing list