Securing a future for anonymous functions in Python

Terry Reedy tjreedy at udel.edu
Fri Jan 7 04:30:42 CET 2005


"Alan Gauld" <alan.gauld at btinternet.com> wrote in message 
news:f1frt0dvi9tt37roe91gm96sg734opn07s at 4ax.com...
> On Thu, 30 Dec 2004 23:28:46 +1000, Nick Coghlan
> <ncoghlan at iinet.net.au> wrote:
>
>> GvR has commented that he want to get rid of the lambda keyword for 
>> Python 3.0.
>> Getting rid of lambda seems like a worthy goal,
>
> Can I ask what the objection to lambda is?
> 1) Is it the syntax?
> 2) Is it the limitation to a single expression?
> 3) Is it the word itself?

Depending on the person, any of the 3.  Plus add
4) The constant complaints re: 2)

> I can sympathise with 1 and 2 but the 3rd seems strange since a
> lambda is a well defined name for an anonymous function used in
> several programming languages and originating in lambda calculus
> in math.

And that is why 'lambda' is wrong -- in Python, it is only an abbreviation 
for a restricted group of def statements, which is *not* its 'well defined' 
usage.  Hence complaints re 2.  If the syntax were def x: x + 2, etc, I 
suspect the complaints would be far fewer.

For some new programmers, 'lambda' is as meaningless as elle*.  All other 
Python keywords are English words or obvious abbreviations thereof.

> So why not retain the name lambda but extend or change the syntax
> to make it more capable rather than invent a wholly new syntax
> for lambdas?

That you suggest this illustrates, to me, what is wrong with the name ;-)

Terry J. Reedy

* The Spanish name for the letter 'll', pronounced el-yea, which comes 
after 'l' in their alphabet.






More information about the Python-list mailing list