Hello guys,
I finally success (with the help of Igor) to trace and create a new Smalltalk kernel based on Pharo. The new born weight 2.2Mb and includes 230 classes ;) You can try it here: Gofer new squeaksource: 'PharoTaskForces'; package: 'SystemTracing'; load. Gofer new squeaksource: 'Seed'; package: 'Seed-HazelBuilder'; load. HazelTracer2 writeImage: 'hazel.image'. If you have an error in Point>>#printOn: , you can use this fix I want to thank Igor again, because he helps me a lot :) Ben FixPointPrintOn.1.cs (593 bytes) Download Attachment |
Hi Ben,
I tried, and it works. But what can I do then? When I run your image (by just double clicking on it), I have a sound without nothing appearing. Do you have some more information about Hazel? What can I do with the image? How can I use it? Cheers, Alexandre On 4 Mar 2011, at 09:51, Benjamin wrote: > Hello guys, > > > I finally success (with the help of Igor) to trace and create a new Smalltalk kernel based on Pharo. The new born weight 2.2Mb and includes 230 classes ;) > > You can try it here: > > Gofer new > squeaksource: 'PharoTaskForces'; > package: 'SystemTracing'; > load. > > Gofer new > squeaksource: 'Seed'; > package: 'Seed-HazelBuilder'; > load. > > HazelTracer2 writeImage: 'hazel.image'. > > > If you have an error in Point>>#printOn: , you can use this fix > <FixPointPrintOn.1.cs> > > > > I want to thank Igor again, because he helps me a lot :) > > > > Ben -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;. |
For now, it just beeping to prove that the image is living :)
For now, there is no interaction because the VM should have new primitives to provides textual interactivity. But if you want to play, you can change the method HazelTracer2>>#freshProcess Thanks for your feedback, Ben On Mar 4, 2011, at 1:57 PM, Alexandre Bergel wrote: > Hi Ben, > > I tried, and it works. But what can I do then? > When I run your image (by just double clicking on it), I have a sound without nothing appearing. > Do you have some more information about Hazel? What can I do with the image? How can I use it? > > Cheers, > Alexandre > > On 4 Mar 2011, at 09:51, Benjamin wrote: > >> Hello guys, >> >> >> I finally success (with the help of Igor) to trace and create a new Smalltalk kernel based on Pharo. The new born weight 2.2Mb and includes 230 classes ;) >> >> You can try it here: >> >> Gofer new >> squeaksource: 'PharoTaskForces'; >> package: 'SystemTracing'; >> load. >> >> Gofer new >> squeaksource: 'Seed'; >> package: 'Seed-HazelBuilder'; >> load. >> >> HazelTracer2 writeImage: 'hazel.image'. >> >> >> If you have an error in Point>>#printOn: , you can use this fix >> <FixPointPrintOn.1.cs> >> >> >> >> I want to thank Igor again, because he helps me a lot :) >> >> >> >> Ben > > -- > _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: > Alexandre Bergel http://www.bergel.eu > ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;. > > > > > > |
> For now, there is no interaction because the VM should have new primitives to provides textual interactivity.
> But if you want to play, you can change the method HazelTracer2>>#freshProcess This is cool! One could imagine to have a read eval loop here. Alexandre > > > > Thanks for your feedback, > > Ben > > On Mar 4, 2011, at 1:57 PM, Alexandre Bergel wrote: > >> Hi Ben, >> >> I tried, and it works. But what can I do then? >> When I run your image (by just double clicking on it), I have a sound without nothing appearing. >> Do you have some more information about Hazel? What can I do with the image? How can I use it? >> >> Cheers, >> Alexandre >> >> On 4 Mar 2011, at 09:51, Benjamin wrote: >> >>> Hello guys, >>> >>> >>> I finally success (with the help of Igor) to trace and create a new Smalltalk kernel based on Pharo. The new born weight 2.2Mb and includes 230 classes ;) >>> >>> You can try it here: >>> >>> Gofer new >>> squeaksource: 'PharoTaskForces'; >>> package: 'SystemTracing'; >>> load. >>> >>> Gofer new >>> squeaksource: 'Seed'; >>> package: 'Seed-HazelBuilder'; >>> load. >>> >>> HazelTracer2 writeImage: 'hazel.image'. >>> >>> >>> If you have an error in Point>>#printOn: , you can use this fix >>> <FixPointPrintOn.1.cs> >>> >>> >>> >>> I want to thank Igor again, because he helps me a lot :) >>> >>> >>> >>> Ben >> >> -- >> _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: >> Alexandre Bergel http://www.bergel.eu >> ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;. >> >> >> >> >> >> > > -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;. |
In reply to this post by Benjamin Van Ryseghem (Pharo)
Great!
does it have the same code base as the current Pharo-Kernel? Cheers, -- Pavel On Fri, Mar 4, 2011 at 1:51 PM, Benjamin <[hidden email]> wrote: > Hello guys, > > > I finally success (with the help of Igor) to trace and create a new Smalltalk kernel based on Pharo. The new born weight 2.2Mb and includes 230 classes ;) > > You can try it here: > > Gofer new > squeaksource: 'PharoTaskForces'; > package: 'SystemTracing'; > load. > > Gofer new > squeaksource: 'Seed'; > package: 'Seed-HazelBuilder'; > load. > > HazelTracer2 writeImage: 'hazel.image'. > > > If you have an error in Point>>#printOn: , you can use this fix > > > > > > I want to thank Igor again, because he helps me a lot :) > > > > Ben > |
In reply to this post by Benjamin Van Ryseghem (Pharo)
On Mar 4, 2011, at 2:24 PM, Pavel Krivanek wrote: > Great! > > does it have the same code base as the current Pharo-Kernel? > Yes. 1.3 latest Core. (I am just integrating the printon fix) Marcus -- Marcus Denker -- http://www.marcusdenker.de INRIA Lille -- Nord Europe. Team RMoD. |
On Fri, Mar 4, 2011 at 2:26 PM, Marcus Denker <[hidden email]> wrote:
> > On Mar 4, 2011, at 2:24 PM, Pavel Krivanek wrote: > >> Great! >> >> does it have the same code base as the current Pharo-Kernel? >> > > Yes. 1.3 latest Core. (I am just integrating the printon fix) > > Marcus So if we will be able to run startup scripts in this image, we be able to use the Pharo-Kernel scripts for loading all the content of the PharoCore back. Perfect! -- Pavel > Marcus Denker -- http://www.marcusdenker.de > INRIA Lille -- Nord Europe. Team RMoD. > > > |
On Fri, Mar 4, 2011 at 2:36 PM, Pavel Krivanek <[hidden email]> wrote:
> On Fri, Mar 4, 2011 at 2:26 PM, Marcus Denker <[hidden email]> wrote: >> >> On Mar 4, 2011, at 2:24 PM, Pavel Krivanek wrote: >> >>> Great! >>> >>> does it have the same code base as the current Pharo-Kernel? >>> >> >> Yes. 1.3 latest Core. (I am just integrating the printon fix) >> >> Marcus > > So if we will be able to run startup scripts in this image, we be able > to use the Pharo-Kernel scripts for loading all the content of the > PharoCore back. Perfect! > > -- Pavel Hmm, Pharo-Kernel has 475 classes and traits and similar size (2.2 MB). -- Pavel |
On Fri, Mar 4, 2011 at 2:43 PM, Pavel Krivanek <[hidden email]> wrote:
> On Fri, Mar 4, 2011 at 2:36 PM, Pavel Krivanek <[hidden email]> wrote: >> On Fri, Mar 4, 2011 at 2:26 PM, Marcus Denker <[hidden email]> wrote: >>> >>> On Mar 4, 2011, at 2:24 PM, Pavel Krivanek wrote: >>> >>>> Great! >>>> >>>> does it have the same code base as the current Pharo-Kernel? >>>> >>> >>> Yes. 1.3 latest Core. (I am just integrating the printon fix) >>> >>> Marcus >> >> So if we will be able to run startup scripts in this image, we be able >> to use the Pharo-Kernel scripts for loading all the content of the >> PharoCore back. Perfect! >> >> -- Pavel > > Hmm, Pharo-Kernel has 475 classes and traits and similar size (2.2 MB). > > -- Pavel > I see, the base content of this image is defined as: (each category beginsWith: 'Kernel') or: [(each category beginsWith: 'Collection') or: [(each category = 'Exceptions-Kernel') or: [(each category = 'Announcements-Core') or: [(each category = 'System-Pools') or: [(each category = 'System-Support') or: [(each name == #EncodedCharSet) or: [(each category == 'Multilingual-Encodings') or: [(each category == 'Multilingual-Languages') or: [(each name) == #Unicode]]]]]]]]]]. That is really radical shrinking :-) But it has great potential. I'll try to play with it... -- Pavel |
On 4 March 2011 14:55, Pavel Krivanek <[hidden email]> wrote:
> On Fri, Mar 4, 2011 at 2:43 PM, Pavel Krivanek <[hidden email]> wrote: >> On Fri, Mar 4, 2011 at 2:36 PM, Pavel Krivanek <[hidden email]> wrote: >>> On Fri, Mar 4, 2011 at 2:26 PM, Marcus Denker <[hidden email]> wrote: >>>> >>>> On Mar 4, 2011, at 2:24 PM, Pavel Krivanek wrote: >>>> >>>>> Great! >>>>> >>>>> does it have the same code base as the current Pharo-Kernel? >>>>> >>>> >>>> Yes. 1.3 latest Core. (I am just integrating the printon fix) >>>> >>>> Marcus >>> >>> So if we will be able to run startup scripts in this image, we be able >>> to use the Pharo-Kernel scripts for loading all the content of the >>> PharoCore back. Perfect! >>> >>> -- Pavel >> >> Hmm, Pharo-Kernel has 475 classes and traits and similar size (2.2 MB). >> >> -- Pavel >> > > I see, the base content of this image is defined as: > > (each category beginsWith: 'Kernel') or: > [(each category beginsWith: 'Collection') or: > [(each category = 'Exceptions-Kernel') or: > [(each category = 'Announcements-Core') or: > [(each category = 'System-Pools') or: > [(each category = 'System-Support') or: > [(each name == #EncodedCharSet) or: > [(each category == 'Multilingual-Encodings') or: > [(each category == 'Multilingual-Languages') or: > [(each name) == #Unicode]]]]]]]]]]. > > That is really radical shrinking :-) But it has great potential. I'll > try to play with it... > Probably there are a lot of junk inside, because the algorithm for picking which objects are to go into image is quite simplistic. And that's the actual aim of this project - invent ways how to tell/identify objects which we want to see in kernel image, otherwise just replace it with dummy or halt tracing, asking a developer to fix unwanted reference. > -- Pavel > > -- Best regards, Igor Stasenko AKA sig. |
In reply to this post by Benjamin Van Ryseghem (Pharo)
Hi Ben,
On Fri, Mar 4, 2011 at 4:51 AM, Benjamin <[hidden email]> wrote: Hello guys, Woot!!!!! Is this still a tracer or does it create a new kernel from source? If it's still a tracer when do you think you'll have a creator and what are you calling it?
great news thanks Eliot
|
On Mar 4, 2011, at 4:38 PM, Eliot Miranda wrote: Hi Ben,
It's a tracer that uses a list of classes (your kernel) to serialize a new image. One of the planned step is to use a minimal image and try to recompile code from source :)
I do not understand your question :( Ben ;)
|
On Fri, Mar 4, 2011 at 8:07 AM, Benjamin <[hidden email]> wrote:
I mean what are your plans regarding recompiling from source. What's the name of this step and when are you planning to start work on it? It's the step I'm really waiting for :)
best, Eliot
|
In reply to this post by Benjamin Van Ryseghem (Pharo)
Hi,
with some ugly hacks i tried to run InterpreterSimulator, I hope it will help you. Try this: Gofer new squeaksource: 'VMMaker'; package: 'VMMaker'; load. (skip warnings) Load patches. Regenerate image HazelTracer2 writeImage: 'hazel.image'. Open Transcript and run the simulator: (InterpreterSimulator new openOn: 'hazel.image') test for freshProcess with the code 4 factorial. [true] whileTrue: [Beeper primitiveBeep]. the is the result: 16r00022330 BlockClosure>>#newProcess 16r0023F7B0 HazelMissingVariable>>#doesNotUnderstand: 16r0023F80C Integer>>#factorial 16r0023F868 Integer>>#factorial 16r0023F8C4 Integer>>#factorial 16r0023F920 Integer>>#factorial 16r0023F97C Integer>>#factorial 16r0023F920 Integer>>#factorial 16r0023F8C4 Integer>>#factorial 16r0023F868 Integer>>#factorial 16r0023F80C Integer>>#factorial 16r0023F7B0 HazelMissingVariable>>#doesNotUnderstand:BEEP BEEP BEEP BEEP ... This shows how much we need working InterpreterSimulator for current images :-) It works quite long for Pharo-Kernel too and on Pharo-Core it interprets a few methods as well. Cheers, -- Pavel On Fri, Mar 4, 2011 at 2:07 PM, Benjamin <[hidden email]> wrote: > For now, it just beeping to prove that the image is living :) > > For now, there is no interaction because the VM should have new primitives to provides textual interactivity. > But if you want to play, you can change the method HazelTracer2>>#freshProcess > > > > Thanks for your feedback, > > Ben > > On Mar 4, 2011, at 1:57 PM, Alexandre Bergel wrote: > >> Hi Ben, >> >> I tried, and it works. But what can I do then? >> When I run your image (by just double clicking on it), I have a sound without nothing appearing. >> Do you have some more information about Hazel? What can I do with the image? How can I use it? >> >> Cheers, >> Alexandre >> >> On 4 Mar 2011, at 09:51, Benjamin wrote: >> >>> Hello guys, >>> >>> >>> I finally success (with the help of Igor) to trace and create a new Smalltalk kernel based on Pharo. The new born weight 2.2Mb and includes 230 classes ;) >>> >>> You can try it here: >>> >>> Gofer new >>> squeaksource: 'PharoTaskForces'; >>> package: 'SystemTracing'; >>> load. >>> >>> Gofer new >>> squeaksource: 'Seed'; >>> package: 'Seed-HazelBuilder'; >>> load. >>> >>> HazelTracer2 writeImage: 'hazel.image'. >>> >>> >>> If you have an error in Point>>#printOn: , you can use this fix >>> <FixPointPrintOn.1.cs> >>> >>> >>> >>> I want to thank Igor again, because he helps me a lot :) >>> >>> >>> >>> Ben >> >> -- >> _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: >> Alexandre Bergel http://www.bergel.eu >> ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;. >> >> >> >> >> >> > > > patch.zip (8K) Download Attachment |
In reply to this post by Benjamin Van Ryseghem (Pharo)
COOOOL
And I missed the birth, shit! Monday you have to tell me what you did to fix the last meters of the run. I see that it was boring to write slides :))) Stef On Mar 4, 2011, at 1:51 PM, Benjamin wrote: > Hello guys, > > > I finally success (with the help of Igor) to trace and create a new Smalltalk kernel based on Pharo. The new born weight 2.2Mb and includes 230 classes ;) > > You can try it here: > > Gofer new > squeaksource: 'PharoTaskForces'; > package: 'SystemTracing'; > load. > > Gofer new > squeaksource: 'Seed'; > package: 'Seed-HazelBuilder'; > load. > > HazelTracer2 writeImage: 'hazel.image'. > > > If you have an error in Point>>#printOn: , you can use this fix > <FixPointPrintOn.1.cs> > > > > I want to thank Igor again, because he helps me a lot :) > > > > Ben |
In reply to this post by Pavel Krivanek-3
yes!!!
The idea is that we have no a process where we can produce a core and in parallel continue to improve it. We should integrate all the seed bug entries and move on :) Great day today. I'm happy Stef On Mar 4, 2011, at 2:23 PM, Pavel Krivanek wrote: > Great! > > does it have the same code base as the current Pharo-Kernel? > > Cheers, > -- Pavel > > On Fri, Mar 4, 2011 at 1:51 PM, Benjamin > <[hidden email]> wrote: >> Hello guys, >> >> >> I finally success (with the help of Igor) to trace and create a new Smalltalk kernel based on Pharo. The new born weight 2.2Mb and includes 230 classes ;) >> >> You can try it here: >> >> Gofer new >> squeaksource: 'PharoTaskForces'; >> package: 'SystemTracing'; >> load. >> >> Gofer new >> squeaksource: 'Seed'; >> package: 'Seed-HazelBuilder'; >> load. >> >> HazelTracer2 writeImage: 'hazel.image'. >> >> >> If you have an error in Point>>#printOn: , you can use this fix >> >> >> >> >> >> I want to thank Igor again, because he helps me a lot :) >> >> >> >> Ben >> > |
In reply to this post by Pavel Krivanek-3
On Mar 4, 2011, at 2:36 PM, Pavel Krivanek wrote: > On Fri, Mar 4, 2011 at 2:26 PM, Marcus Denker <[hidden email]> wrote: >> >> On Mar 4, 2011, at 2:24 PM, Pavel Krivanek wrote: >> >>> Great! >>> >>> does it have the same code base as the current Pharo-Kernel? >>> >> >> Yes. 1.3 latest Core. (I am just integrating the printon fix) >> >> Marcus > > So if we will be able to run startup scripts in this image, we be able > to use the Pharo-Kernel scripts for loading all the content of the > PharoCore back. Perfect! yes!!! > > -- Pavel > > >> Marcus Denker -- http://www.marcusdenker.de >> INRIA Lille -- Nord Europe. Team RMoD. >> >> >> > |
In reply to this post by Pavel Krivanek-3
pavel
consider hazel as a first end to end process. The contents is and will vary. We have to learn and understand what we want to put in and how we rebuild everything. Stef >>>>> >> -- Pavel >> > > I see, the base content of this image is defined as: > > (each category beginsWith: 'Kernel') or: > [(each category beginsWith: 'Collection') or: > [(each category = 'Exceptions-Kernel') or: > [(each category = 'Announcements-Core') or: > [(each category = 'System-Pools') or: > [(each category = 'System-Support') or: > [(each name == #EncodedCharSet) or: > [(each category == 'Multilingual-Encodings') or: > [(each category == 'Multilingual-Languages') or: > [(each name) == #Unicode]]]]]]]]]]. > > That is really radical shrinking :-) But it has great potential. I'll > try to play with it... > > -- Pavel > |
In reply to this post by Eliot Miranda-2
> Woot!!!!! Is this still a tracer or does it create a new kernel from source? If it's still a tracer when do you think you'll have a creator and what are you calling it?
From source may be a way to go but only for the smallest core. I would like to play with a source bootstrap. For now we use a tracer and we should learn also how to build dynamically cores (like aljandro nurturing) Stef |
In reply to this post by Eliot Miranda-2
> If it's still a tracer when do you think you'll have a creator and what are you calling it?
> > I do not understand your question :( > > I mean what are your plans regarding recompiling from source. What's the name of this step and when are you planning to start work on it? It's the step I'm really waiting for :) We do not know. We should continue to clean the system and the problem with source bootstrapping is that this is static in the sense that until the moment where we get a usable system we will have to trace changes in the kernel and push them back in the source bootstrap. So we want it too :) but I think that there is also a space for generating specific image based on dynamic collection. May be this one will be pineKernel :) http://uktv.co.uk/food/ingredient/aid/503745 "pignon" Stef |
Free forum by Nabble | Edit this page |