[Python-Dev] Questions about '@' in pep 318

Edward K. Ream edreamleo at charter.net
Fri Aug 6 15:50:08 CEST 2004


> > I think @ before def are unacceptable because they aren't too Pythonic
> > and thus break style and aesthetics of Python.
>
> This is not a convincing statement.

I agree.  The argument that @ lines aren't clearly "attached" to functions
seems much more convincing to me.

Surely I am repeating somebody else's points, but I'm going to say them
anyway:

1.  There doesn't seem much debate that dropping @ from the list of symbols
that can never appear in Python programs (outside of comments and strings)
is, in fact, a major change to the language.

2.  Maybe the @ syntax is somehow the best alternative, considered in
isolation.  Fair enough.  But how much better?  Enough to justify a major
change to the language?  What is so unreadable about def (...)[...]: ?

3. I agree with Phillip Eby that an @ line looks like some external document
markup.  This is, if fact, a common usage for the @ sign: Leo uses the @
sign for this reason.  But to be fair, this is a very minor point.

4. No doubt Python programmers will grow used to any syntax whatever it is,
including @ or def (...)[...].  Whatever slight discomfort people will feel
with a new syntax will quickly fade.

In short, a major change to Python (@) would seem to demand a truly
convincing justification.  IMO, the argument that @ is more readable than
def (...)[...]: doesn't even come _close_ to such a justification.  YMMV.
And only GvR's mileage counts :-)

Edward
--------------------------------------------------------------------
Edward K. Ream   email:  edreamleo at charter.net
Leo: Literate Editor with Outlines
Leo: http://webpages.charter.net/edreamleo/front.html
--------------------------------------------------------------------





More information about the Python-Dev mailing list