If you ask a scientist, even a computer scientist, what "lambda" means he will invariably answer that it is a letter in the Greek alphabet. Only a few people working with lambda calculus will think of "lambda" as being related to a function. Many beginners (included myself) were puzzled by "lambda" the first time they meet it. It doesn't look as clean as the rest of python syntax where you hardly need explain what the keywords mean.<br>
<br>Guido once said that he hadn't found a better name. Well, I think that almost *any* name will do better! ;-) Especially a name that emphasizes the fact that lambda construction are in fact functions. This is what Guido repeats over and over again: lambda is just synctactic sugar for a function definition. Here are suggestion for a new name for lambda, which will much better describe what it is, namely a *function*. Since function are defined with the keyword "def" i'd suggest the following possibilities:<br>
- ldef (local definition, or indeed, lambda definition ;-))<br>- idef (inline definition)<br>- cdef (compact definition)<br>- sdef (shorthand definition)<br>etc.<br>anything along theses lines will be more descriptive than "lambda" and most newcommers will immediately guess what it is about without wading through the manual. The python code will also be more readable for non python specialists.<br>
<br>It's too late to change the name lambda in Python 2.x but why not change it in python 3000 since this release breaks backwards compatibility anyway?<br><br>Any thoughts about that? Any ideas of other better names than "lambda"?<br>
<br>Thanks!<br><br>