On Sun, Oct 24, 2021 at 02:09:59PM +1100, Chris Angelico wrote:
> The biggest problem with thunks is knowing when to trigger evaluation.
I think Algol solved that problem by having thunks a purely internal
mechanism, not a first-class value that users could store or pass
around.
> We already have functions if you want to be explicit about that:
Yes, if we are satisfied with purely manually evaluating thunks. The
point of a thunk though is that the interpreter knows when to evaluate
it, you don't have to think about it.
> Thunks would be another great feature, but I think they're orthogonal
> to this.
If we had thunks, that would give us late binding for free:
def bisect(a, x, lo=0, hi=thunk len(a), *, key=None)
Aaaand we're done. So thunks would make this PEP obsolete.
But if thunks are implausible, too hard, or would have too high a cost,
then this PEP remains less ambitious and therefore easier.
--
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/WG36UOCBSR7RKWGHDX36OK6CHGSSSMG6/
Code of Conduct: http://python.org/psf/codeofconduct/