[Python-Dev] return statements in lambda
Tim Peters
tim_one@email.msn.com
Mon, 6 Mar 2000 03:12:06 -0500
[/F]
> maybe adding an (optional but encouraged) "return"
> to lambda would be an improvement?
>
> lambda x: x + 10
>
> vs.
>
> lambda x: return x + 10
>
> or is this just more confusing... opinions?
It was an odd complaint to begin with, since Lisp-heads aren't used to using
"return" anyway. More of a symptom of taking a shallow syntactic approach
to a new (to them) language.
For non-Lisp heads, I think it's more confusing in the end, blurring the
distinction between stmts and expressions ("the body of a lambda must be an
expression" ... "ok, i lied, unless it's a 'return' stmt). If Guido had it
to do over again, I vote he rejects the original patch <wink>. Short of
that, would have been better if the lambda arglist required parens, and if
the body were required to be a single return stmt (that would sure end the
"lambda x: print x" FAQ -- few would *expect* "return print x" to work!).
hindsight-is-great<wink>-ly y'rs - tim