On 2005 Jan 13, at 02:18, Phillip J. Eby wrote:

At 05:54 PM 1/12/05 -0700, Steven Bethard wrote:
Not that my opinion counts for much =), but returning None does seem
much simpler to me.  I also haven't seen any arguments against this
route of handling protocol nonconformance...  Is there a particular
advantage to the exception-raising scheme?

Only if there's any objection to giving the 'object' type a default __conform__ method that returns 'self' if 'isinstance(protocol,ClassTypes) and isinstance(self,protocol)'.

In the spirit of minimalism in which I propose to rewrite PEP 246 (as per my latest post: make a simple, noninvasive, unassuming PEP 246 while new ``copernical revolution'' ideas which you proposed mature in another PEP), I'd rather not make a change to built-in ``object'' a prereq for PEP 246; so, I think the reference implementation should avoid assuming such changes, if it's at all possible to avoid them (while, no doubt, indicating the desirability of such changes for simplification and acceleration).


Incidentally, "get this specialmethod from the type (with specialcasing for classic classes &c)" is a primitive that PEP 246 needs as much as, say, copy.py needs it. In the light of the recent discussions of how to fix copy.py etc, I'm unsure about what to assume there, in a rewrite of PEP 246: that getattr(obj, '__aspecial__', None) always does the right thing via special descriptors, that I must spell everything out, or, what else...?

If anybody has advice or feedback on these points, it will be welcome!


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