Can't extend function type
Fri Oct 7 15:50:11 CEST 2005
"Diez B. Roggisch" <deets at nospam.web.de> writes:
> Well - function inheritance is not known so far in python - and in no
> other language I know.
Yeah, I didn't really expect it to work, but it seems like a logical
consequence of type/class unification.
> Basically you want __mult__ being part of f or g when python
> encounters something like this
> f * g
> But then how did you plan to declare f?
Come to think of it, that's also a wart. I'd been thinking of
using a decorator, as Christopher Subich suggested,
def f(x): ...
but it's not how the decorator could actually work (other than through
gross CPython-specific hacks).
> So the only way to achieve this with current semantics is to make f
> anf g objects with a call methods. In that very moment, you're done -
> as extending from object is no problem :)
Yeah, I thought of that, but felt it wasn't in the proper spirit :)
More information about the Python-list