A critic of Guido's blog on Python's lambda

Ken Tilton kentilton at gmail.com
Sat May 6 10:56:28 EDT 2006



Thomas F. Burdick wrote:
> Ken Tilton <kentilton at gmail.com> writes:
> 
> 
>><g> Hopefully it can be a big issue and still not justify a flame war.
>>
>>Mileages will always vary, but one reason for lambda is precisely not
>>to have to stop, go make a new function for this one very specific
>>use, come back and use it as the one lambda statement, or in C have an
>>address to pass. but, hey, what are editors for? :)
>>
>>the bigger issue is the ability of a lambda to close over arbitrary
>>lexically visible variables. this is something the separate function
>>cannot see, so one has to have a function parameter for everything.
>>
>>but is such lexical scoping even on the table when Ptyhon's lambda
>>comes up for periodic review?
> 
> 
> This is second-hand, as I don't actually follow Python closely, but
> from what I've heard, they now have reasonable scoping rules (or maybe
> they're about to, I'm not sure).  And you can use def as a
> Scheme-style inner define, so it's essentially a LABELS that gets the
> indentation wrong.

Cool. And I know how much you like labels/flet. :)

>  This means they have proper closures, just not
> anonymous ones.  And an egregiously misnamed lambda that should be
> fixed or thrown out.
> 
> If Python gets proper macros it won't matter one bit that they only
> have named closures, since you can macro that away in a blink of an
> eye.

Ah, well, there we go again. Without sexpr notation, the lexer/parser 
again will be "hard", and "hardly worth it": we get even more sour 
grapes, this time about macros not being such a big deal.

One of the hardest things for a technologist to do is admit that a neat 
idea has to be abandoned. Initial success creates a giddy 
over-commitment to the design choice. After then all difficulties get 
brushed aside or kludged.

This would not be a problem for Python if it had stayed a scripting 
language... well, maybe "no Macro!s" and "no real lambda!" and "no 
continuations!" are GvR's way of keeping Python just a scripting language.

:)

kenny

-- 
Cells: http://common-lisp.net/project/cells/

"Have you ever been in a relationship?"
    Attorney for Mary Winkler, confessed killer of her
    minister husband, when asked if the couple had
    marital problems.



More information about the Python-list mailing list