On 4/25/07, Phillip J. Eby <[EMAIL PROTECTED]> wrote: > At 04:43 PM 4/25/2007 -0700, Guido van Rossum wrote: > >This is a very good point. Perhaps we can come up with a way to make > >isinstance and issubclass into something like GFs (without requiring > >the whole GF machinery). > > > >I'll think about it some more. > > __special__ methods are how Python currently defines built-in GFs, so > perhaps __isinstance__ and __issubclass__ slots (and their __r*__ > counterparts) should suffice.
Yeah. The pragmatic issues are (a) how easy is it to add this to the metaclass; (b) whether to keep the existing "abstract isinstance/issubclass" code which looks for __class__ and __bases__ attributes and believes whatever they return. > OTOH, the old PEP 246 (implemented by both PyProtocols and zope.interface) > just uses __conform__ and __adapt__ and basically works the same way as an > __isinstance__/__risinstance__ pair... Are pairs needed? I was hoping that isinstance(x, C) would only need to be overridden on the class C, and issubclass(D, C) would only need to be overridden on C as well. In particular, the use case brought up here is isinstance(42, Ring) and issubclass(int, Ring). So we'd want to add something to Ring. -- --Guido van Rossum (home page: http://www.python.org/~guido/) _______________________________________________ Python-3000 mailing list Python-3000@python.org http://mail.python.org/mailman/listinfo/python-3000 Unsubscribe: http://mail.python.org/mailman/options/python-3000/archive%40mail-archive.com