On Sat, Oct 23, 2021, 11:46 PM David Mertz, Ph.D.

> def f(x=defer: a + b):
>>     a, b = 3, 5
>>     return x
>>
>> Would this return 8, or a defer-expression? If 8, then the scope isn't
>> truly dynamic, since there's no way to keep it deferred until it moves to
>> another scope. If not 8, then I'm not sure how you'd define the scope or
>> what triggers its evaluation.
>
>
Oh... Keep in mind I'm proposing a strawman deliberately, but the most
natural approach to keeping an object deferred rather than evaluated is
simply to say so:

def f(x=defer: a + b):
    a, b = 3, 5
    fn2(defer: x)  # look for local a, b within fn2() if needed
    # ... other stuff
    return x  # return 8 here
_______________________________________________
Python-ideas mailing list -- python-ideas@python.org
To unsubscribe send an email to python-ideas-le...@python.org
https://mail.python.org/mailman3/lists/python-ideas.python.org/
Message archived at 
https://mail.python.org/archives/list/python-ideas@python.org/message/YXM3T2AXCL23EVWXE5JR6QOHQJTIZEFY/
Code of Conduct: http://python.org/psf/codeofconduct/

Reply via email to