David Mertz, Ph.D. writes:
>>>>> On Fri, Jun 24, 2022 at 3:50 AM Stephen J. Turnbull
>>>>> <[email protected]> wrote:
> > I'm suggesting modified semantics where deferreds can be a proxy
> > object, whose normal reaction to *any* operation (possibly
> > excepting name binding) is
> >
> > 1. check for a memoized value,
> > if not found evaluate its stored code, and memoize the value
> > 2. perform the action on the memoized value
>
> I think I like these semantics better than those my draft proposal. I
> haven't had a chance to enhance the proto-PEP more in the last few days
> (other work). But all of these comments are extremely helpful, and I'll
> have a better version in a few days. Hopefully I can address many of the
> concerns raised.
We (not sure how much help I'll be, but I'm in) need to deal with
Chris A's point that a pure memoizing object doesn't help with the
mutable defaults problem. That is with
def foo(cookiejar=defer []):
foo() produces a late bound empty list that will be used again the
next time foo() is invoked.
Now, we could modify the defer syntax in function parameter default
values to produce a deferred deferred object (or, more likely, a
deferred object that lacks the memoization functionality). But I
suspect Chris will respond with (a polite expression with the
semantics of) the puke emoji, and I'm not sure I disagree, yet. ;-)
Steve
_______________________________________________
Python-ideas mailing list -- [email protected]
To unsubscribe send an email to [email protected]
https://mail.python.org/mailman3/lists/python-ideas.python.org/
Message archived at
https://mail.python.org/archives/list/[email protected]/message/IBUB7GMZMRPXDAYNRNT7A5CAPEKE3RO3/
Code of Conduct: http://python.org/psf/codeofconduct/