Am 09.06.10 08:06 schrieb Stéphane Ducasse: > We would love to have a version of alien working for pharo on all platform. IMO, this would make it necessary to move all extensions of system classes (with the exception of the #asAlien conversion methods) to Alien-Prereqs, and have different versions of this package for Pharo 1.0, Pharo 1.1, and Squeak 4.1. Can this be done with Metacello, or is Metacello a Pharo-only thing? I am a newbie here, I simply haven't had the time to look at Metacello yet. Also, the override of SystemDictionary/SmalltalkImage>>recreateSpecialObjectsArray has to be eliminated. I have seen that the current Squeak and Pharo images have a 50 element specialObjectsArray, Alien adds 5 more entries, and there is another version in the pipeline for Squeak which adds one more for finalization support. That leaves us with three different versions already. IMHO, it is not acceptable to override that method. What's needed is a possibility to extend the array using a well-defined API, intended for VM developers only, of course. >> In Squeak, this meant removing the Alien-Prereqs package and all >> Parser/Scanner/MethodNode changes, > > what are these? Ups, sorry for the confusion. There are changes of Parser and Scanner in Alien-Prereqs, while Alien-Core contains methods for MethodNode, Compiler, Decompiler, and CompiledMethod. Most of the latter only change the printStrings of MethodNodes and CompiledMethods for primitives, and all of them seem to be completely unnecessary in Squeak 4.1. One method in MethodNode (MethodNode>>generate) overrides a different implementation both in Squeak 4.1 and Pharo 1.1, and does not work in both of them. Most of the overridden methods in Alien-Prereqs actually only changed the error messages emitted when parsing method sources, others seem to be precursors of methods which have been integrated into Squeak about two years ago. >> as they are redundant or obsolete in >> Squeak 4.1. I have a version of the Alien-Core Monticello package which >> loads cleanly in Squeak 4.1, if anybody is interested. However, this package >> does not load in Pharo 1.1 beta 11367 - some of the changes I removed still >> seem to be needed there. > > can you point us to them? Not yet. I didn't want to waste my time with an analysis before knowing if someone else is working on this issue, and might already know what has to be done. Joachim Geidel |
On Jun 9, 2010, at 9:32 AM, Joachim Geidel wrote: > > Am 09.06.10 08:06 schrieb Stéphane Ducasse: >> We would love to have a version of alien working for pharo on all platform. > > IMO, this would make it necessary to move all extensions of system classes > (with the exception of the #asAlien conversion methods) to Alien-Prereqs, > and have different versions of this package for Pharo 1.0, Pharo 1.1, and > Squeak 4.1. Can this be done with Metacello, or is Metacello a Pharo-only > thing? I am a newbie here, I simply haven't had the time to look at > Metacello yet. > > Also, the override of > SystemDictionary/SmalltalkImage>>recreateSpecialObjectsArray has to be > eliminated. I have seen that the current Squeak and Pharo images have a 50 > element specialObjectsArray, Alien adds 5 more entries, and there is another > version in the pipeline for Squeak which adds one more for finalization > support. after discussing with igor this point we decided to wait to see what was happening since it made no sense to change this method all the time but to wait for a new VM. > That leaves us with three different versions already. IMHO, it is > not acceptable to override that method. What's needed is a possibility to > extend the array using a well-defined API, intended for VM developers only, > of course. There is a better solution as discussed in the vm mailing-list. Igor proposed a solution and now we are waiting. > >>> In Squeak, this meant removing the Alien-Prereqs package and all >>> Parser/Scanner/MethodNode changes, >> >> what are these? > > Ups, sorry for the confusion. There are changes of Parser and Scanner in > Alien-Prereqs, while Alien-Core contains methods for MethodNode, Compiler, > Decompiler, and CompiledMethod. Most of the latter only change the > printStrings of MethodNodes and CompiledMethods for primitives, and all of > them seem to be completely unnecessary in Squeak 4.1. One method in > MethodNode (MethodNode>>generate) overrides a different implementation both > in Squeak 4.1 and Pharo 1.1, and does not work in both of them. Most of the > overridden methods in Alien-Prereqs actually only changed the error messages > emitted when parsing method sources, others seem to be precursors of methods > which have been integrated into Squeak about two years ago. cleaning the package would be a nice first step. > >>> as they are redundant or obsolete in >>> Squeak 4.1. I have a version of the Alien-Core Monticello package which >>> loads cleanly in Squeak 4.1, if anybody is interested. However, this package >>> does not load in Pharo 1.1 beta 11367 - some of the changes I removed still >>> seem to be needed there. >> >> can you point us to them? > > Not yet. I didn't want to waste my time with an analysis before knowing if > someone else is working on this issue, and might already know what has to be > done. > > Joachim Geidel > > > > _______________________________________________ > Pharo-users mailing list > [hidden email] > http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-users |
Am 09.06.10 11:35 schrieb Stéphane Ducasse:
>> Am 09.06.10 08:06 schrieb Stéphane Ducasse: >>> We would love to have a version of alien working for pharo on all platform. [snip] >>>> as they are redundant or obsolete in >>>> Squeak 4.1. I have a version of the Alien-Core Monticello package which >>>> loads cleanly in Squeak 4.1, if anybody is interested. However, this >>>> package >>>> does not load in Pharo 1.1 beta 11367 - some of the changes I removed still >>>> seem to be needed there. >>> >>> can you point us to them? I had a look at Alien-Prereqs and Alien-Core. Actually, it seems that all extensions to system classes except the conversion and utility methods can be removed in all three platforms. The only exception is Parser>>pragmaStatement. It is needed in Pharo 1.0, which contains an old version of that method. I have added a comment to Pharo issue #1360 (http://code.google.com/p/pharo/issues/detail?id=1360) with attached Monticello versions of Pharo-Prereqs and Pharo-Core which are compatible with Pharo 1.0, 1.1, and Squeak 4.1. Pharo-Prereqs is only needed in Pharo 1.0. The Alien tests were green on all three platforms. I have accidentally published Alien-Core to SqueakSource, but have asked John McIntosh to delete the version. I think that my changes should be reviewed by someone with better knowledge of Alien and who knows how to update the ConfigurationOfAlien, before they are released publicly. Sorry for the inconvinience, I will be more careful next time. Best regards, Joachim Geidel |
Free forum by Nabble | Edit this page |