[Python-Dev] Re: PEP 318: Decorators last before colon
David Eppstein
eppstein at ics.uci.edu
Mon Apr 5 22:06:58 EDT 2004
In article <3AA96ED4-876E-11D8-A42F-0003934AD54A at chello.se>,
Simon Percivall <s.percivall at chello.se> wrote:
> On 2004-04-06, at 01.24, David Eppstein wrote:
> >
> > Ok, then how about
> > <decorator>
> > def ...
> > ?
> >
> > '<' can't start an expression or statement currently, can it?
>
> Yeah. I think that would look better. On the other hand ...
>
> On 2004-03-31, at 17.42, Guido van Rossum wrote:
> > Why does <...> look better than [...]? To me, <...> just reminds me
> > of XML, which is totally the wrong association.
> >
> > There are several parsing problems with <...>: the lexer doesn't see <
> > and > as matched brackets, so you won't be able to break lines without
> > using a backslash, and the closing > is ambiguous -- it might be a
> > comparison operator.
Well, Mike Pall's long message "The Need for a Declarative Syntax"
convinced me that some kind of bracketed prefix is the best location for
these things, but I still don't like [...] because it already has a
(useless) meaning, so declarators would pass silently in old Pythons.
And the same objection applies to all other existing brackets.
So, angle brackets seem like the cleanest remaining choice.
Re the lexer, I don't see this as a big problem as long as multiple
declarators can be handled by multiple <...> pairs. Re the ambiguity, I
think comparisons shouldn't normally appear in declarators, so it's ok
if they have to be parenthesized.
--
David Eppstein http://www.ics.uci.edu/~eppstein/
Univ. of California, Irvine, School of Information & Computer Science
More information about the Python-Dev
mailing list