[squeak-dev] Re: [Pharo-users] Alien for Squeak 4.1/Pharo 1.1?

Joachim Geidel joachim.geidel at onlinehome.de
Wed Jun 9 07:32:51 UTC 2010


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





More information about the Squeak-dev mailing list