On 1/17/06, M.-A. Lemburg <[EMAIL PROTECTED]> wrote:
> Alex, I think you're missing a point here: what you are looking
> for is an interface, not a base class - simply because the

I expect numbers to support arithmetic operators, &c -- no need for
basenumber to "spell this out", i.e., "be an itnerface".

> If you look at the Python C API, you'll find that "a number"
> is actually never tested.

There being no way to generically test for "a number", that's unsurprising.

> The tests always ask for either
> integers or floats.

But this doesn't apply to the Python Standard Library, for example see
line 1348 of imaplib.py: "if isinstance(date_time, (int, float)):".

> The addition of a basenumber base class won't make these any
> simpler.

Being able to change imaplib to use basenumber instead of (int, float)
won't make it SIMPLER, but it will surely make it BETTER -- why should
a long be rejected, or a Decimal,
for that matter?  Similarly, on line 1352 it should use the existing
basestring, though it now uses str (this function IS weird -- if it
finds date_time to be of an unknown TYPE it raises a *ValueError*
rather than a *TypeError* -- ah well).


Alex
_______________________________________________
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com

Reply via email to