On Nov 25, 2007 2:39 PM, Christian Heimes <[EMAIL PROTECTED]> wrote:
> Greg Ewing wrote:
> > This needs consideration. Pyrex currently makes use of
> > this behaviour when defining a Python class having Pyrex
> > functions as methods.
> >
> > However, a better solution for Pyrex would be to add
> > method-binding behaviour to the C function object, so
> > that C functions can be used directly as methods. The
> > above example would then work simply by doing
>
> Why was the builtin_function_or_method type introduced and what's the
> rational of the different behavior? Maybe we could add an API to wrap a
> CFunction in an ordinary function?

And how would that work? Ultimately, a CFunction wraps a C function
pointer, while a Python function wraps a (byte)code object. Totally
different functionality inside. Anyway, even if you have a way around
that, this answers your "why" question. I see no reason why all
functions should be instances of the same type -- after all, we do
duck typing, right? :-)

-- 
--Guido van Rossum (home page: http://www.python.org/~guido/)
_______________________________________________
Python-3000 mailing list
[email protected]
http://mail.python.org/mailman/listinfo/python-3000
Unsubscribe: 
http://mail.python.org/mailman/options/python-3000/archive%40mail-archive.com

Reply via email to