musiccomposition at gmail.com
Tue Mar 25 21:48:06 CET 2008
On Tue, Mar 25, 2008 at 3:42 PM, Olivier Verdier <zelbier at gmail.com> wrote:
> 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.
It's actually recommended that inline functions be used anyway.
> 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:
> - ldef (local definition, or indeed, lambda definition ;-))
> - idef (inline definition)
> - cdef (compact definition)
> - sdef (shorthand definition)
These are all abbreviations, which I find don't help much. How about just
> 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.
> 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?
Yeah, probably too late.
> Any thoughts about that? Any ideas of other better names than "lambda"?
> Python-3000 mailing list
> Python-3000 at python.org
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Python-3000