[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