On 2/13/06, Jim Jewett <[EMAIL PROTECTED]> wrote:
> Travis wrote:
>
> >  The patch adds a new API function int PyObject_AsIndex(obj)
>
> How did you decide between int and long?
>
> Why not ssize_t?

It should be the same type used everywhere for indexing. In the svn
HEAD that's int. Once PEP 353 lands it should be ssize_t. I've made
Travis aware of this issue already.

> Also, if index is being added as a builtin, should the failure
> result be changed?

I don't like to add a built-in index() at this point; mostly because
of Occam's razor (we haven't found a need).

> I'm thinking that this may become a
> replacement for isinstance(val, (int, long)).

But only if it's okay if values > sys.maxint (or some other constant
indicating the limit of ssize_t) are not required to be supported.

> If so, it might
> be nice not to raise errors, or at least to raise a more
> specific subclass.  (Catching a TypeError and then
> checking the message string ... does not seem clean.)

I'm not sure what you mean. How could index(x) ever replace
isinstance(x, (int, long)) without raising an exception? Surely
index("abc") *should* raise an exception.

--
--Guido van Rossum (home page: http://www.python.org/~guido/)
_______________________________________________
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