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.