[Python-ideas] Access to function objects
Terry Reedy
tjreedy at udel.edu
Sun Aug 7 08:17:22 CEST 2011
On 8/7/2011 12:32 AM, Eric Snow wrote:
> On Sat, Aug 6, 2011 at 2:28 PM, Terry Reedy<tjreedy at udel.edu> wrote:
>> This proposal/desire comes up constantly on python-list, generally with
>> support. I believe it was part of two recent threads. I would like to know
>> if the rejection of the idea so far is a rejection in principle (and if so,
>> why) or a rejection of specifics.
>
> +1
> Of the three code blocks, functions are the only ones for whom the
> resulting object and the execution of the code block are separate. So
> a code object could be executing for the original function or a
> different one that is sharing the code object.
Now I remember that the separation between code object and function
object and the possibility of reusing code objects has been given as a
reason to reject the idea. On the other hand, reusing code objects is so
rare that I question the need to cater to it much.
> Why not bind the called function-object to the frame locals, rather
> than the one for which the code object was created, perhaps as
> "__function__"?
I do not understand this.
> To finish things off, bind to every new code object
> the function for which it was created, perhaps as "co_func". That way
> you will always know what function object was called and which one the
> code object came from originally.
I don't see that solving the problem of how the function code accesses
the object. Adding something to the default arg tuple might make more
sense.
--
Terry Jan Reedy
More information about the Python-ideas
mailing list