[Python-Dev] Adventures with ASTs - Inline Lambda
talin at acm.org
Sat Feb 18 07:47:44 CET 2006
All right, the patch is up on SF. Sorry for the delay, I accidentally
left my powerbook about an hour's drive away from home, and had to drive
to go get it this morning :)
To those who were asking what advantage the new syntax has - well, from
a technical perspective there are none, since the underlying
implementation is identical. The only (minor) difference is in the
syntactical ambiguity, which both forms have - with lambda you can't be
certain when to stop parsing the result expression, whereas with 'given'
you can't be certain when to stop parsing the argument list.
I see the primary advantage of the inline syntax as pedagogical - given
a choice, I would rather explain the "given" syntax to a novice
programmer than try to explain lambda. This is especially true given the
similarity in form to generator expressions - in other words, once
you've gone through the effort of explaining generator expressions, you
can re-use most of that explanation when explaining "function
expressions"; whereas with lambda, which looks like nothing else in
Python, you have to start from scratch.
More information about the Python-Dev