[Python-Dev] Adventures with ASTs - Inline Lambda

Talin 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.

-- Talin

More information about the Python-Dev mailing list