[Python-Dev] Re: PEP 318: Decorators last before colon
Michael Hudson
mwh at python.net
Thu Apr 1 07:13:40 EST 2004
Neil Schemenauer <nas-python at python.ca> writes:
> On Wed, Mar 31, 2004 at 03:04:18PM -0500, Bob Ippolito wrote:
>> On Mar 31, 2004, at 1:59 PM, Michel Pelletier wrote:
>> >Please don't add any decorator syntax to Python, at least not yet. All
>> >of the proposals I have seen so far are, to be blunt, and in my opinion
>> >of course, ugly and are getting uglier as the discussion ensues.
>
> I agree with Michel. The decorator syntax being discussed looks
> ugly. I think it would be okay if the set of valid decorations were
> limited to 'classmethod', 'staticmethod' and maybe a few others.
> Allowing more general expressions seems to asking for abuse.
I humbly submit that that's a terrible idea: it knackers Bob's PyObjC
example, for one thing.
>> Decorators solve a *huge* problem with the current syntax:
>>
>> def someObjectiveCSelector_yesTheyCanBeThisLong_sometimesLonger_(takes,
>> some, args, here):
>> pass
>> someObjectiveCSelector_yesTheyCanBeThisLong_sometimesLonger_ =
>> objc.selector(someObjectiveCSelector_yesTheyCanBeThisLong_sometimesLonge
>> r_, signature='some type signature')
>
> I would be happer if there was an easier way for you to do what you
> want _without_ introducing new syntax to that language. For
> example, what if '_' was bound to the last defined function? You
> could then do something like this:
>
> def someObjectiveCSelector_itsReallyLong_(takes, some, args, here):
> pass
> objc.selector(_, signature='some type signature')
>
> That looks pretty nice and is even shorter to type than the proposed
> syntax.
And doesn't work. Oh well!
>> Please understand that just because you haven't need them yet doesn't
>> make them worthless, ugly, etc.
>
> I don't think Michel is saying they are worthless. However, the
> proposed syntax is highly contentious. It would be good if there
> was a short term solution that wouldn't require new syntax. That
> would give Guido and the Python community time to figure out the
> best syntax.
We've been discussing this off and on for OVER A YEAR! If 'the best
syntax' hasn't been figured out yet after N thousand emails on the
subject, I see no reason to believe enlightenment is going to arrive
soon (or ever).
Cheers,
mwh
--
If trees could scream, would we be so cavalier about cutting them
down? We might, if they screamed all the time, for no good reason.
-- Jack Handey
More information about the Python-Dev
mailing list