[Python-Dev] 2.4a2, and @decorators

Phillip J. Eby pje at telecommunity.com
Tue Aug 3 18:34:16 CEST 2004


At 08:23 AM 8/3/04 -0700, Guido van Rossum wrote:
> > Now, it's true that this will just become '@when("whatever")' in
> > 2.4, and I'm *fine* with that, just disappointed that the syntax
> > won't be forward compatible.
>
>Implementability in 2.2 and 2.3 was never on the list of requirements
>for decorators.  You're adding this constraint yourself.  I know it
>was brought up before but I never agreed with that constraint (and the
>previous community favorite, [...]-after-args, wasn't compatible
>either).

All understood and agreed.  I was only trying to answer the question that 
you asked; I was emphatically *not* trying to reopen the discussion.  My 
"disappointment" here is on a par with being disappointed that a restaurant 
is out of my favorite dish: a trifling matter that doesn't deserve the time 
I've already spent on it, except that I hate being judged poorly for 
something that I didn't actually *do*.  You seem to think that I'm saying 
"@" is a bad thing, or that "[]" is better for the language or community 
than "@".  But I'm most emphatically *not* saying those things, and don't 
believe I ever have.


>I presume your framework is already full of hacks,

Well, I don't know if I'd call 4 hacks "full", especially since two of 
those are to implement decorators (class level and function level).  The 
other two are to implement 'call-next-method' for generic functions, and to 
implement microthreads with generators.  Out of nearly ninety thousand of 
lines of Python, I don't think that "full" is an accurate characterization 
here.


>  which is fine by
>me, but I don't want to use it as a deciding factor for the decorator
>syntax.

I'm not asking you to, and I don't believe I ever have.  I only replied to 
J.P. Calderone's suggestion of a less-functional hack (i.e. if you're going 
to hack, you might as well make it do the whole thing), and to *your* 
emails inquiring why I and other people thought a call-oriented syntax was 
better than bare "[]".  With regard to the actual language change, I 
conceded the point when you said "let's move on" the other day.

I understand your frustration with this issue, and I can also understand 
that you are probably feeling pretty second-guessed right now, but *I'm* 
not second-guessing you!  So there's no call for the Spanish Inquisition 
here, and certainly not for personal insults because I answered questions 
that *you* asked.  (The Python standard library actually has *six* modules 
or packages that use sys._getframe(), not including tests; shall we call it 
"full of hacks", too?)



More information about the Python-Dev mailing list