[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.

Cheers,
Juan Vuletich



More information about the Squeak-dev mailing list