[Pharo-dev] [IMPORTANT] Following changes in the bootstrapping process

Stephane Ducasse stepharo.self at gmail.com
Tue Aug 1 07:34:09 EDT 2017


Hi phil

We will see for hermes. Because we have to pay attention when loading
binary and changing the code we may end up with desynchronised
situation.
But this opens a lot of possibilities.
We could deploy a PharoApp as a mini image and a set of binary files.
I want a process where we can write an application (not just a bunch
of classes) and get a process until a full deploy.
Esteban confirmed to me that he wants to push the desktop deploy front
in this iteration.

Stef


On Tue, Aug 1, 2017 at 12:57 PM, philippe.back at highoctane.be
<philippe.back at gmail.com> wrote:
> Massive.
>
> What is in the super small image?
> Is Hermes going to be a generic binary content loader?
>
> Phil
>
> On Aug 1, 2017 12:36, "Stephane Ducasse" <stepharo.self at gmail.com> wrote:
>>
>> Hi Pavel
>>
>> This is super excellent! IMPRESSIVE. An image without the compiler and
>> a reloadable compiler.
>> Super cool.
>>
>> Stef
>>
>>
>> On Tue, Aug 1, 2017 at 11:57 AM, Pavel Krivanek
>> <pavel.krivanek at gmail.com> wrote:
>> > Hello,
>> >
>> > we are checking a huge pull request #177
>> > (https://github.com/pharo-project/pharo/pull/177) that will change some
>> > basics of the bootstrap process:
>> >
>> > Now we will bootstrap a smaller image that will not include
>> > compiler/parser.
>> > Compiler and related packages are exported and loaded using a binary
>> > exporter named Hermes.
>> > The compiler is then used to load FileSystem and Monticello. The rest of
>> > the
>> > bootstrap process will be the same as before.
>> > As the result we will have faster bootstrap and better system
>> > modularization
>> > and possibilities.
>> >
>> > It required some modularization efforts:
>> >
>> > - simplified initialization scripts
>> > - Use Zinc converters and encoders instead of FilePathEncoder and old
>> > TextConverter
>> > - Use Stdio instead of FileStream
>> > - Using File instead of FileSystem
>> > - Deprecated FileStream & childs (Moved to Deprecated70)
>> > - Extracted Path classes to their on package: FileSystem-Path
>> > - Moved OpalEncoders to their own package. They are required by the
>> > runtime
>> > (not only for compilation)
>> > - Introduced AsciiCharset in the kernel to answer to #isLetter
>> > #isUppercase
>> > and so on without requiring full Unicode tables from the beginning
>> > - Cleaning up a bit the full exception logging infrastructure (streams,
>> > transcript, files, stack printing...)
>> > - Split Ring methods required for system navigation to the
>> > Ring-Navigation
>> > package
>> > - Remove usages of #translated in the kernel
>> > - Refactored the bootstrapping classes to remove duplications
>> > - Cleaning up dependencies in CompiledMethod>>printOn:
>> > - fix path printing
>> >
>> > We need to merge these changes at once and of course it can cause some
>> > conflicts with the existing pull requests or external code. Anyway, we
>> > need
>> > to merge it as soon as possible.
>> >
>> > So please, try to look at the PR and test the resultant image [1] to
>> > avoid
>> > some major problems.
>> >
>> > [1]
>> >
>> > https://ci.inria.fr/pharo/view/7.0/job/70-PR-Check-Load/lastSuccessfulBuild/artifact/bootstrap-cache/Pharo7.0-32bit-9c0691d.zip
>> >
>> > Cheers,
>> > -- Pavel
>> >
>>
>



More information about the Pharo-dev mailing list