[Python-Dev] Re: Class/type dichotomy thoughts

M.-A. Lemburg mal@lemburg.com
Mon, 06 Nov 2000 18:02:51 +0100

Neil Schemenauer wrote:
> On Mon, Nov 06, 2000 at 01:25:26PM +0100, M.-A. Lemburg wrote:
> > I think the problem we currently have with subclassing types
> > is strongly related to the fact that all Py<type>_Check()
> > macros only work on a address compare basis.
> I don't think this is the problem, although it is closely
> related.  The problem is that the interpreter uses these type
> checks to special case the handling of certain types.
> PyInstance_Check() is a big offender.
> Behavior should be based solely on the type structure.  Extension
> types would then be able to behave exactly like any other builtin
> type.  Your coercion proposal and David's rich comparisions both
> remove some of this special casing based on type.

Even though this could remove some of the problems, it doesn't
help much with a common use of Py<Type>_Check(): that of
using fast access macros and native Py<Type>_*() APIs once an
object has been classified as being of a certain type.
This usually improves performance.

By changing the simple address compare to a type handle
system, we might be able to add some more flexibility to
the system while keeping b/w compatibility.

Marc-Andre Lemburg
Business:                                      http://www.lemburg.com/
Python Pages:                           http://www.lemburg.com/python/