
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?)