[Python-Dev] An issue recently brought up in patch#872326(generator expression) (original) (raw)

Jeremy Hylton jeremy at alum.mit.edu
Tue Mar 23 16:30:34 EST 2004


On Tue, 2004-03-23 at 16:15, Samuele Pedroni wrote:

At 12:54 23.03.2004 -0800, Guido van Rossum wrote: > > > All this makes me lean towards getting rid of the binding capture > > > feature. That way everybody will get bitten by the late binding fair > > > and square the first time they try it. > > > > I prefer this approach over one that has subtleties and nuances. > >I was partly inpsired to this position by reading a draft for Paul >Graham's new book, Hackers and Painters (which will include last >year's PyCon keynote on the 100-year language). In one of his many >criticisms of Common Lisp (not his favorite Lisp dialect :), Paul >complains about hygienic macros that they are designed to take away >the power and sharp edges, but that for him the attraction of Lisp is >precisely in that power.

hmm, I'm confused CL has non-hygienic macros, although you can workaround that using the package system or gensym, Scheme has hygienic macros,

I believe Paul is definitely a fan of CL over Scheme. Academic: "Paul, that macro isn't hygenic." Paul: "So tell my mother."

the current list comprehension in Python e.g. behaves like an unhygienic macro:

x = 3 l= [ l*2 for x in l] # x is not 3 anymore.

I guess I prefer Scheme, because I'd like to see this fixed ;-). I don't think it's much like a macro, though. The expanded code is visible at the invocation site.

Jeremy



More information about the Python-Dev mailing list