On 12 Jun., 16:54, George Sakkis <[EMAIL PROTECTED]> wrote: > On Jun 12, 10:12 am, Kay Schluehr <[EMAIL PROTECTED]> wrote: > > > On 12 Jun., 14:57, Facundo Batista <[EMAIL PROTECTED]> wrote: > > > > Remember that the *only* difference between the two functions is that > > > one is anonymous, and for other you have to came up with a name (name > > > that if is well thought, actually adds readibility to your code). > > > The difference is that one can be inlined since it is an expression > > and the other has to be a statement and a reusable ( named ) > > abstraction even when you don't need one. I have a very hard time to > > defend this as a good design decision even when it is just a minor > > pain point in almost all my practical purposes. > > I think of it more as a "necessary evil" rather than a conscious > design choice. IIRC the "official" justification is that nobody came > up with an acceptable syntax for multiline lambdas;
Translating this into unofficial language: Guido just didn't care a lot about lambda and found no one of the alternative proposals compelling. If he's actually interested in a language feature he fixes syntax quite fast. > TOOWTDI is a > secondary reason (as one can easily come up with a dozen TOOWTDI > violations in other parts of the language). I agree though that in > practice it's a very small limitation. > > George But in the case we are discussing here it is really not obvious. That's why the community as well as the public opinion when discussing Python returns to the topic every once in a while. We agree about this issue being a minor limitation but I'd vote nevertheless +1 for either removing lambda or liberating it from the restriction of containing an expressions only. When Guido decided to use @ to prefix a decorator half of the Python community screamed in Perl Angst. Nothing particularly happened. Same thing with Lisp Angst and putting a statement into parens. Nothing special will happen either. A few hurt souls initially and Python-as-usual after the first excitements. -- http://mail.python.org/mailman/listinfo/python-list