Hi.
One possible singularity is that SmallIntegers do not continuously scale from their indexable Large Integer counterparts. 10000000000000 size is 6, and (10000000000000 / 1000) size is 5, but (10000000000000 / 10000) size is 0!
I think the problem here is not with size, but with one expects anInteger to answer. In mathematics, anInteger size... size of what? Amount of digits, but in what base? There's no such idea of "anInteger size"...
The other example is sending ln to 0.0... I believe that the final fix for #raisedTo: doesn't send ln to 0.0 anymore. But before that, I remember reading how several libraries gave a full range of different messages and errors and flags and stuff when that happened and in the evaluation of 0.0 raisedTo: 0.75. I really disliked the whole thing since after all,
LOGARITHM OF ZERO IS NOT DEFINED!
So why in heavens sending ln to 0.0... it's not correct! But ok, if one builds a library with, hmmmmm... suitable algorithms and conventions and bit buckets so that anyway the answer is zero... it's so Microsoftish...
Just my feelings about it, eh? :))).
Andres.