[squeak-dev] Re: [Pharo-project] Migrating Complex in a separate package

Juan Vuletich juan at jvuletich.org
Tue Oct 11 12:44:12 UTC 2011

Hi Folks,

>> I suggest putting Complex in its own package in squeaksource. This can
>> work for Pharo alone.
>> I also suggest to optionally remove Squeak.Complex from trunk.

I think Complex belongs in the base system, just like the other number 
classes. I have already integrated Complex from Squeak into Cuis, and it 
will be in the next Cuis release. Maybe Pharo could also integrate it...

> ...
>> - the name of the class can be Complex or ComplexNumber
>> Specifically I don't like isComplex, many objects could respond true
>> because complicated;
>> isComplexNumber is much more explicit.
>> We could also think of having complex expressions in a symbolic
>> algebra, and isComplexNumber would be true only for a literal value..
>> What I could eventually do is publish an old Complex in package
>> Complex for backard compatibility and an updated ComplexNumber in a
>> Math-Complex package...
>> How many of you use Complex ?
>> What do you think of these proposals ?

I do not have a strong position between Complex and ComplexNumber. I 
think Complex is not that bad.

But I agree #isComplex is very bad. It has already "clashed" with 
ParseNode and BorderStyle. I suggest replacing this message with three 
distinct ones, like #isComplexNumber, #isComplexBorder and 
#isComplexNode. If done in Squeak, I promise I'll do it in Cuis for 
consistency. I never did it in Cuis alone, because I want the Compiler 
to be as close to Squeak's as possible.

> I'm mostly using Complex and Quaternion for my robotic development.
> So i want to be able to load these packages in a current Pharo image.
> Maybe you can merge everything about complex, quaternions (and latter
> octonions) numbers in a single package in order to avoid too much
> small packages with just a class (and a test class) ?

I disagree. Complex is very common. It is taught in high school. 
Quaternions are not that common at all. And this is the first time I 
hear of Octonions! These belong in an optional package.

Juan Vuletich

More information about the Squeak-dev mailing list