On Wed, Jun 22, 2022 at 2:17 PM Eric V. Smith <eric@trueblade.com> wrote:
Every time I’ve looked at this, I come back to: other than the clunky syntax, how is explicit evaluation different from a zero-argument lambda?

The difference is in composition of operations.  I can write a dozen zero-argument lambdas easily enough.  But those are all isolated.  

I've enhanced the PEP, so maybe look at the link for some of my updates; but I need to add a bunch more, so don't want to repost each small draft change.

But basically, think about `x = (later expensive1() + later expensive2()) / later expensive3()`.  How can we make `x` itself be a zero argument lambda?  And not just with those exact operations on the Deferreds, but arbitrary combinations of Deferreds to create more complex Deferreds, without performing the intermediate computations?


--
Keeping medicines from the bloodstreams of the sick; food
from the bellies of the hungry; books from the hands of the
uneducated; technology from the underdeveloped; and putting
advocates of freedom in prisons.  Intellectual property is
to the 21st century what the slave trade was to the 16th.