[Python-ideas] Proposal for function expressions
Nick Coghlan
ncoghlan at gmail.com
Mon Jul 13 14:43:47 CEST 2009
Terry Reedy wrote:
> Chris Perkins wrote:
>> First, a simple example to give the broad strokes:
>> foo() do:
>> BODY
>>
>> is equivalent to:
>>
>> def ANON():
>> BODY
>> foo(ANON)
>
> Add del anon and the equivalence is almost exact.
> Call all one-off functions '_' and there is no need to ever delete the
> name and you have
>
> def _(): body
> foo(_)
>
> which is nearly identical to your proposed foo(&).
You can even use decorator notation to move the call before the function
body:
@foo
def thunk():
BODY
(Note that most code block ideas haven't actually made it to the PEP
stage - the only one along those lines that I can see in PEP 0 is PEP
359's "make" statement, which had more to do with metaclasses than code
blocks. That said, I recall assorted code block based ideas being thrown
around in the PEP 340/342/343/346 discussions that eventually lead to
the introduction of PEP 343's with statement and PEP 342's generator
enhancements)
Cheers,
Nick.
--
Nick Coghlan | ncoghlan at gmail.com | Brisbane, Australia
---------------------------------------------------------------
More information about the Python-ideas
mailing list