Hi all, I think Pablo answered most of the questions. But there is another important concern: Hermes is not designed to be a general purpose serializer. So it not in it goals to be extensible or fast. The main goals behind hermes are: - to be small (actually smaller than the compiler) - to have as few dependencies as possible This is because we want to have it in the first bootstrapped image to have a small kernel with faster build time, and be able to load the compiler afterwards using it. Concretely, after bootstrap we use Hermes to load only four packages (Compiler + 3 dependencies). Once that is done, we can go back into using the compiler to load the rest. We did not think about putting it at the level of monticello, that has to be thought for the future. In any case, moving to git/filetree makes sharing binary mcz more difficult. Another two points that hermes is not managing so far to be a more general code loading solution is that it does not manage source files (it installs methods without source) nor the reloading/update of code. From an implementation/format point of view, Hermes writes something somehow equivalent to a java .class file but with a package granularity. I think it may be valuable to nicely document the format. That could allow other dialects to have their implementation and share hermes files (delta some runtime compatibility :) ). Guille On Tue, Aug 1, 2017 at 11:14 PM, [hidden email] <[hidden email]> wrote:
|
In reply to this post by Pavel Krivanek-3
Hi Pavel,
On Tue, Aug 01, 2017 at 11:57:23AM +0200, Pavel Krivanek 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: > > ... > > 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 This image had gone by the time I tried to download it, however the same directory contained Pharo7.0-32bit-58e8755. I did some ad hoc testing with my current Pharo 7 code and it worked without any problems. (but this is only a small test) P.S. It would be great if the archive name included something that would allow us to easily guess which is a newer version, e.g. git rev-list --count HEAD Thanks, Alistair |
2017-08-02 9:28 GMT+02:00 Alistair Grant <[hidden email]>: Hi Pavel, There were some fixing commits to the PR so the build hash changed. The original download link should contain build number, not symbolic lastSuccessfulBuild. Sorry for troubles. -- Pavel
|
On Wed, Aug 02, 2017 at 09:35:02AM +0200, Pavel Krivanek wrote:
> > > 2017-08-02 9:28 GMT+02:00 Alistair Grant <[hidden email]>: > > Hi Pavel, > > On Tue, Aug 01, 2017 at 11:57:23AM +0200, Pavel Krivanek 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: > > > > ... > > > > 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 > > This image had gone by the time I tried to download it, however the same > directory contained Pharo7.0-32bit-58e8755. > > > There were some fixing commits to the PR so the build hash changed. The > original download link should contain build number, not symbolic > lastSuccessfulBuild. Sorry for troubles. Thanks for the clarification. The main point of my message was that I was able to do some successfull testing (as requested), and which version was tested. :-) Cheers, Alistair > I did some ad hoc testing with my current Pharo 7 code and it worked > without any problems. (but this is only a small test) > > P.S. It would be great if the archive name included something that would > allow us to easily guess which is a newer version, e.g. > > git rev-list --count HEAD > > > Thanks, > Alistair |
In reply to this post by Pavel Krivanek-3
*Counts direct references to FileStream & subclasses in a 6.1 Moose image* Brave souls! I hope the migration guide will be up to snuff, or I imagine a large percentage will be staying on 7.0 for a looong while :) Cheers, Henry |
In reply to this post by Guillermo Polito
Thanks guille and pablo for the explanation. One day we will have to work on a fuel solution for binary code loading. On Wed, Aug 2, 2017 at 7:02 AM, Guillermo Polito <[hidden email]> wrote:
|
In reply to this post by Henrik Sperre Johansen
>> - Deprecated FileStream & childs (Moved to Deprecated70)
> > *Counts direct references to FileStream & subclasses in a 6.1 Moose image* > Brave souls! It means that Moose will have to update. These classes are not gone just deprecated. > I hope the migration guide will be up to snuff, or I imagine a large > percentage will be staying on 7.0 for a looong while :) Henrik did you mean 6.0? We would to resurrect andre automatic evolver. But well this is work when we do not know how to set it up. > > Cheers, > Henry > > > > -- > View this message in context: http://forum.world.st/IMPORTANT-Following-changes-in-the-bootstrapping-process-tp4958082p4958298.html > Sent from the Pharo Smalltalk Developers mailing list archive at Nabble.com. > |
Not just Moose, also all the packages it depends on. Included in said image, at a cursory glance; - Metacello - Fuel - SmaCC - Beacon - Fame - Grease - PetitParser2 - Roassal2 - Rubric And that's just a quick count of the *direct* FileStream references, not including the majority of cases requiring rewrites as a result of FileHandle write/readStream now returning a pure binary stream / API of Zn stream being different from old File streams. Deprecated in 70 means slated for removal in 80 / only deprecation warnings on use in 7.0, no? So going to 7.0 will still be possible in most cases, with warnings turned off. 8.0 is where the leap will be. Like I said, brave souls! Cheers, Henry |
In reply to this post by Stephane Ducasse-3
Hi,
> On Aug 2, 2017, at 5:53 PM, Stephane Ducasse <[hidden email]> wrote: > >>> - Deprecated FileStream & childs (Moved to Deprecated70) >> >> *Counts direct references to FileStream & subclasses in a 6.1 Moose image* >> Brave souls! > > It means that Moose will have to update. These classes are not gone > just deprecated. I am looking forward for moving to 7.0 and updating this part. Most people look at this type of upgrade like a chore, but I think it will be fun :) >> I hope the migration guide will be up to snuff, or I imagine a large >> percentage will be staying on 7.0 for a looong while :) > > Henrik did you mean 6.0? > We would to resurrect andre automatic evolver. But well this is work > when we do not know > how to set it up. This would be interesting. Doru >> >> Cheers, >> Henry >> >> >> >> -- >> View this message in context: http://forum.world.st/IMPORTANT-Following-changes-in-the-bootstrapping-process-tp4958082p4958298.html >> Sent from the Pharo Smalltalk Developers mailing list archive at Nabble.com. >> > -- www.tudorgirba.com www.feenk.com "Be rather willing to give than demanding to get." |
Free forum by Nabble | Edit this page |