Securing a future for anonymous functions in Python
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