Hi all,
I see, thath some projects, has to fight with incompatbilitys between Squeak and Pharo. I would like to know, how far this incompatiliby goes. For example, in Pharo are working now in Safara, Seaside, Polymorph, ffenestri...all this project will work on Squeak in the future? For the moment, I can't get working Polymorph on Squeak, and I don't tried Seaside, or Safara, but, How about ffenestri? Will may need changes to work over Squeak? Cheers. Giuseppe Luigi Punzi Ruiz Blog: http://www.lordzealon.com Twitter & Skype & GoogleTalk accounts: glpunzi |
Hi Giuseppe -
I've been looking for a good starting point for Polymorph for a while now. Which version/repository did you start with? What problems did you encounter? I'm quite interested in keeping Polymorph working on Squeak (and perhaps integrate it fully at some point) but I just don't know where to start ;-) Cheers, - Andreas Giuseppe Luigi Punzi Ruiz wrote: > Hi all, > > I see, thath some projects, has to fight with incompatbilitys between > Squeak and Pharo. > > I would like to know, how far this incompatiliby goes. For example, in > Pharo are working now in Safara, Seaside, Polymorph, ffenestri...all > this project will work on Squeak in the future? > > For the moment, I can't get working Polymorph on Squeak, and I don't > tried Seaside, or Safara, but, How about ffenestri? Will may need > changes to work over Squeak? > > Cheers. > > Giuseppe Luigi Punzi Ruiz > Blog: http://www.lordzealon.com > Twitter & Skype & GoogleTalk accounts: glpunzi > > > > > > > |
I started from http://squeakvm.org/win32/release/Squeak-3.10.2-
trunk.zip, Load Code Updates. Then, I add the MC repository of Polymorph, and Load latest package of Polymorph-Widgets, then latest from Polymorph-Squeak-Widgets Title bar looks ugly, and If you open Preferences, click on Windows to get a MNU (and others strange behaviour). Cheers. El 25/08/2009, a las 19:23, Andreas Raab escribió: > Hi Giuseppe - > > I've been looking for a good starting point for Polymorph for a > while now. Which version/repository did you start with? What > problems did you encounter? I'm quite interested in keeping > Polymorph working on Squeak (and perhaps integrate it fully at some > point) but I just don't know where to start ;-) > > Cheers, > - Andreas > > Giuseppe Luigi Punzi Ruiz wrote: >> Hi all, >> I see, thath some projects, has to fight with incompatbilitys >> between Squeak and Pharo. >> I would like to know, how far this incompatiliby goes. For example, >> in Pharo are working now in Safara, Seaside, Polymorph, >> ffenestri...all this project will work on Squeak in the future? >> For the moment, I can't get working Polymorph on Squeak, and I >> don't tried Seaside, or Safara, but, How about ffenestri? Will may >> need changes to work over Squeak? >> Cheers. >> Giuseppe Luigi Punzi Ruiz >> Blog: http://www.lordzealon.com >> Twitter & Skype & GoogleTalk accounts: glpunzi > > Giuseppe Luigi Punzi Ruiz Blog: http://www.lordzealon.com Twitter & Skype & GoogleTalk accounts: glpunzi |
Guiseppe: I can talk only for what I did. SqueakDBX fortunately works ok in Squeak and Pharo. However sometimes I had to change a bit my code, but little things. On the other hand, for Glorp I did something different. I create a separate package called GlorpPharoAdapator or something like that that add the methods extensions or overrides I need to do in Glorp so that it loads in Pharo. This is something like a patch, but works. I don't know a lot of Glorp and it is not my project and as it has no maintainer in Squeak, I did that. Perhaps a better approach would be to understand the changes and see the best solution to work on both dialects. The thing is that this is a problem of the package
best Mariano On Tue, Aug 25, 2009 at 4:42 PM, Giuseppe Luigi Punzi Ruiz <[hidden email]> wrote: I started from http://squeakvm.org/win32/release/Squeak-3.10.2-trunk.zip, Load Code Updates. |
Mariano Martinez Peck wrote:
> Guiseppe: I can talk only for what I did. SqueakDBX fortunately works > ok in Squeak and Pharo. However sometimes I had to change a bit my code, > but little things. On the other hand, for Glorp I did something > different. I create a separate package called GlorpPharoAdapator or > something like that that add the methods extensions or overrides I need > to do in Glorp so that it loads in Pharo. This is something like a > patch, but works. I don't know a lot of Glorp and it is not my project > and as it has no maintainer in Squeak, I did that. Perhaps a better > approach would be to understand the changes and see the best solution to > work on both dialects. The thing is that this is a problem of the package And of course, if you do have fixes/patches that you would like to see in Squeak, please do submit them to http://source.squeak.org/inbox.html for review and integration. Cheers, - Andreas > On Tue, Aug 25, 2009 at 4:42 PM, Giuseppe Luigi Punzi Ruiz > <[hidden email] <mailto:[hidden email]>> wrote: > > I started from > http://squeakvm.org/win32/release/Squeak-3.10.2-trunk.zip, Load Code > Updates. > Then, I add the MC repository of Polymorph, and Load latest package > of Polymorph-Widgets, then latest from Polymorph-Squeak-Widgets > > Title bar looks ugly, and If you open Preferences, click on Windows > to get a MNU (and others strange behaviour). > > Cheers. > > El 25/08/2009, a las 19:23, Andreas Raab escribió: > > > Hi Giuseppe - > > I've been looking for a good starting point for Polymorph for a > while now. Which version/repository did you start with? What > problems did you encounter? I'm quite interested in keeping > Polymorph working on Squeak (and perhaps integrate it fully at > some point) but I just don't know where to start ;-) > > Cheers, > - Andreas > > Giuseppe Luigi Punzi Ruiz wrote: > > Hi all, > I see, thath some projects, has to fight with > incompatbilitys between Squeak and Pharo. > I would like to know, how far this incompatiliby goes. For > example, in Pharo are working now in Safara, Seaside, > Polymorph, ffenestri...all this project will work on Squeak > in the future? > For the moment, I can't get working Polymorph on Squeak, and > I don't tried Seaside, or Safara, but, How about ffenestri? > Will may need changes to work over Squeak? > Cheers. > Giuseppe Luigi Punzi Ruiz > Blog: http://www.lordzealon.com > Twitter & Skype & GoogleTalk accounts: glpunzi > > > > > Giuseppe Luigi Punzi Ruiz > Blog: http://www.lordzealon.com > Twitter & Skype & GoogleTalk accounts: glpunzi > > > > > > > > > ------------------------------------------------------------------------ > > |
In reply to this post by Giuseppe
Hi Giuseppe -
[cc: Gary for input on some of the issues below] Giuseppe Luigi Punzi Ruiz wrote: > I started from > http://squeakvm.org/win32/release/Squeak-3.10.2-trunk.zip, Load Code > Updates. > Then, I add the MC repository of Polymorph, and Load latest package of > Polymorph-Widgets, then latest from Polymorph-Squeak-Widgets > > Title bar looks ugly, and If you open Preferences, click on Windows to > get a MNU (and others strange behaviour). Let's start with the easy stuff. The issue of the ugly title bars are caused by an age-old issue of trying to create a bold version of a font that's already bold (and failing to do so in a visually pleasing way). You can work around this issue by changing the window title font to a non-bold font (or convincing Gary not to bolden the title font in the SoftSqueak theme ;-) The preferences blow up has been fixed in the trunk, it resulted from the use of custom view registries in Polymorph (but was my fault for not properly supporting those). However, even after fixing that I got some errors about BlockClosure>>isValid and BlockClosure>>asMinimalRepresentation. Looking around in the Polymorph repository I found these in Polymorph-EventEnhancements (but on BlockContext not on BlockClosure) with a number of other extension methods and classes none of which seem to be used by Polymorph-Widgets. Question for Gary: Is it enough to implement these methods on BlockClosure and expect things to work without having to load Polymorph-EventEnhancements, or is some or all of EventEnhancements needed for Polymorph? If it's just the two methods I think we should put them into the trunk with comments and get over it. The other package I looked at was Polymorph-Squeak-Widgets. There are only two methods here; one in BorderedMorph that looks like an obvious fix and should be added to the trunk. The other one (#handleDisabledKey:) is on ParagraphEditor and effectively a no-op since we are switching to the Cuis editors. Something will need to be added to TextEditor for this purpose. Question for Gary: Should these be folded into Squeak proper or do you prefer to keep them in Polymorph? Either way is fine by me but you might have a preference. Then there is the issue of overrides. Polymorph contains a lot of them which is understandable considering what it is doing but it means that the code will be very brittle with regards to any changes in Morphic. Question for Gary: Do you think it would make sense to try to integrate these overrides so that we avoid these brittle dependencies or is this just going to create a maintenance nightmare for you (i.e., having versions with and without overrides)? Lastly, performance. The image felt slow after loading Polymorph which I attributed at first to the pretty gradients but when I switched to the "StandardSqueak" theme (which is indistinguishable from the trunk's current look) it still felt slow. So I ran a version of the "standard" browser benchmark: | saveMorphs time | [saveMorphs := World submorphs. World removeAllMorphs."heh, heh" time := [1 to: 10 do: [:i | MorphicToolBuilder new open: (Browser new setClass: SystemDictionary selector: nil). World doOneCycleNow]. World submorphs do: [:m | m delete. World doOneCycleNow]. ] timeToRun] ensure:[World addAllMorphs: saveMorphs]. I found that in the current trunk image the benchmark completes in less than half the time (!) that it takes to run it in the same image with Polymorph loaded (10401 msecs vs. 23297 msecs). Something is slowing down with Polymorph and very much so. Question for Gary: Is there any intrinsic reason why the Polymorph image would be so much slower? Have you done any serious performance analysis and any insights what might be slowing it down? The benchmark was run with all animations turned off yaddaya to get as close as possible to the default Squeak look. I actually think that the above benchmark is a smoking gun that you can increase performance of Polymorph by 2x if you can find out what is slowing you down. All said and done the situation is this: Once you update from the trunk you need to implement two methods on BlockClosure, that is BlockClosure>>isValid (returns true) and BlockClosure>>asMinimalRepresentation (returns self). Once this is done, load Polymorph-Widgets and Polymorph will work. There is the outstanding issue of ParagraphEditor but it won't cause any immediate harm and I'd like to hear back from Gary before deciding on how to fix these issues. Cheers, - Andreas |
In reply to this post by Giuseppe
On Tue, Aug 25, 2009 at 6:53 PM, Giuseppe Luigi Punzi
Ruiz<[hidden email]> wrote: > > I see, thath some projects, has to fight with incompatbilitys between Squeak > and Pharo. > > I would like to know, how far this incompatiliby goes. For example, in Pharo > are working now in Safara, Seaside, Polymorph, ffenestri...all this project > will work on Squeak in the future? > > For the moment, I can't get working Polymorph on Squeak, and I don't tried > Seaside, or Safara, but, How about ffenestri? Will may need changes to work > over Squeak? The Squeak-dev based on Squeak 3.10 contains Polymorph for a long time now: http://damiencassou.seasidehosting.st/Smalltalk/squeak-dev. I use the version on Universe. -- Damien Cassou http://damiencassou.seasidehosting.st "Lambdas are relegated to relative obscurity until Java makes them popular by not having them." James Iry |
Damien Cassou wrote:
> The Squeak-dev based on Squeak 3.10 contains Polymorph for a long time > now: http://damiencassou.seasidehosting.st/Smalltalk/squeak-dev. I use > the version on Universe. Have you ever tried building a Squeak-dev image from the trunk? I would be interested in learning what (if anything) breaks when you do that. I think it's important to have a set of tools and applications that exercise the base image and the Squeak-dev is (I think) the largest consistent set of such packages loaded together. If you have a build script for Squeak-dev that would be a great starting point. Cheers, - Andreas |
On 8/26/09 3:33 AM, "Andreas Raab" <[hidden email]> wrote: > Damien Cassou wrote: >> The Squeak-dev based on Squeak 3.10 contains Polymorph for a long time >> now: http://damiencassou.seasidehosting.st/Smalltalk/squeak-dev. I use >> the version on Universe. > > Have you ever tried building a Squeak-dev image from the trunk? I would > be interested in learning what (if anything) breaks when you do that. I > think it's important to have a set of tools and applications that > exercise the base image and the Squeak-dev is (I think) the largest > consistent set of such packages loaded together. > > If you have a build script for Squeak-dev that would be a great starting > point. > > Cheers, > - Andreas In case you wish know, I update my old FunSqueak3.10alpha.7.image to trunk with minor glitches. It's the largest old and new projects in one place, I try to update all projects to new version and add favorites to request of Squeakers. See detail in http://www.squeak.org/Download/ about list of included packages. Edgar |
In reply to this post by Andreas.Raab
>
> (and perhaps integrate it fully at some point) Have Polymorph integrated in the image, I don't know if it's a good idea. The main goal, is to get a minimal "kernel" and load other things as packages, true?. On the other side, for Polymorph integrated in the image, are 2 or 3MB. I suppose could be interesting to have the images outside the "image" and don't use them, if you select SoftSqueak for example. Giuseppe Luigi Punzi Ruiz Blog: http://www.lordzealon.com Twitter & Skype & GoogleTalk accounts: glpunzi |
Free forum by Nabble | Edit this page |