On May 4, 2011, at 4:52 PM, Tom Bachmann wrote:

> 
>>> Singleton objects are useful for more important things than optimising
>>> '==' with 'is'. They represent 'sui generis' objects that have specific
>>> behaviour. But that wasn't my point (not that you could have known it,
>>> given that I forgot half the words in my final parenthesis). I meant
>>> that having Integer(42) and Rational(42) being different, barely related
>>> objects, is unintuitive and makes it hard to extend an existing
>>> structure with additional objects. IIUC, to have something like
>>> S.Infinity in Sage, you'd need to create a
>>> TwoPointCompactifiedExtendedRealLine algebra and convert all your real
>>> objects to it (granted, the last one seems to happen automagically).
>> 
>> +1.  When I was working on the doctests in the polys, I was fixing some bugs 
>> in the domains, and I noticed that it's much cleaner to have QQ(2, 1) not 
>> automatically convert to ZZ(2).  The SymPy domain required all kinds of 
>> special code to check for singletons and automatic casting like that, which 
>> would break if, for example, a new number was made into a singleton.
>> 
> 
> I think you are actually +1-ing here the opposite of Ronan's statement, or do 
> I mis-understand what you are saying?

Well, I guess at least one of us is misunderstanding Ronan.  Let's just say 
that I am +1 to my own statement :)

Aaron Meurer

> I would agree to that latter interpretation: Integer(1) and Rational(1) 
> *should* be clearly distinguished, although related objects. This is even so 
> in "ordinary mathematics", as can be seen with some (admittedly contrived) 
> questions like "what is the cardinality of 1?".
> 

-- 
You received this message because you are subscribed to the Google Groups 
"sympy" group.
To post to this group, send email to sympy@googlegroups.com.
To unsubscribe from this group, send email to 
sympy+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/sympy?hl=en.

Reply via email to