[squeak-dev] Re: [Pharo-project] Migrating Complex in a separate
juan at jvuletich.org
Tue Oct 11 12:44:12 UTC 2011
>> 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.
More information about the Squeak-dev