[Pharo-dev] [IMPORTANT] Following changes in the bootstrapping process
stepharo.self at gmail.com
Tue Aug 1 07:34:09 EDT 2017
We will see for hermes. Because we have to pay attention when loading
binary and changing the code we may end up with desynchronised
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.
On Tue, Aug 1, 2017 at 12:57 PM, philippe.back at highoctane.be
<philippe.back at gmail.com> wrote:
> What is in the super small image?
> Is Hermes going to be a generic binary content loader?
> 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.
>> 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  to
>> > avoid
>> > some major problems.
>> > 
>> > 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