| Store | Cart

Extending Python Syntax with @

From: David MacQuigg <d...@gain.com>
Thu, 11 Mar 2004 02:24:39 -0700
On Wed, 10 Mar 2004 15:31:12 -0600, Jeff Epler <jepler at unpythonic.net>
wrote:
>I don't like your suggestion.  You propose using @ in 4 different>ways, one of which I don't even understand>    -- to pass keyword arguments to statements>    -- instead of the perfectly good "lambda" keyword>    -- mumble generators mumble (this is the example I don't understand)>    -- instead of the perfectly good "self." idiom

The details of these suggestions don't matter.  The key concept, which
nobody seems to appreciate, is that we can *avoid* different and
confusing ways of extending an existing syntax.  Perhaps a better
example will help.

Paul Prescod in a recent thread proposed deprecating the print
statement in favor of a "show()" function.  The new function would
provide the same defaults as our current print statement, but would
also allow changing those defaults via keyword arguments.  As you
might expect there were lots of objections to deprecating the existing
syntax.  The arguments in favor were good, however, and I could see
this being done in some future version of Python.

There are lots of other examples where it would be nice to extend the
current syntax without changing the old.  So how would we do that with
the print statement?  We could do it by adding keywords, like was done
did with 'lambda' and 'yield'.  That seems to be the implication of
the arguments in this thread against using a special symbol.

What I'm saying is, rather than add new keywords, it would be better
to have a standard symbol that has no specific meaning other than
"modify this statement".  Beginners will learn the basic statements,
and ignore the modifications.  Later they will see an @ symbol on some
otherwise familiar statement, and they will go to the docs for that
statement to figure out what it means.  This is quite different than
Perl, where symbols themselves convey many complex meanings.

Maybe there will be no more changes in Python. I think that would be a
mistake as bad as adding more unnecessary keywords for seldom-used
statements.

-- Dave

Recent Messages in this Thread
David MacQuigg Mar 10, 2004 09:01 pm
Wayne Folta Mar 10, 2004 09:24 pm
Jarek Zgoda Mar 10, 2004 09:26 pm
Jeff Epler Mar 10, 2004 09:31 pm
Ivan Voras Mar 10, 2004 09:49 pm
Erik Max Francis Mar 11, 2004 01:08 am
John Roth Mar 10, 2004 09:50 pm
Ben Finney Mar 10, 2004 10:19 pm
John Roth Mar 10, 2004 11:15 pm
Josiah Carlson Mar 12, 2004 05:08 pm
Y2KYZFR1 Mar 12, 2004 05:49 am
Max M Mar 12, 2004 09:59 am
John Roth Mar 12, 2004 12:05 pm
Heather Coppersmith Mar 11, 2004 02:05 am
Edward K. Ream Mar 10, 2004 11:02 pm
David MacQuigg Mar 11, 2004 12:40 am
Cameron Laird Mar 11, 2004 01:28 am
David MacQuigg Mar 11, 2004 02:44 am
Pierre Rouleau Mar 11, 2004 03:13 am
Christopher Koppler Mar 11, 2004 09:00 am
Isaac To Mar 11, 2004 01:54 am
Pierre Rouleau Mar 11, 2004 02:59 am
Christopher Koppler Mar 11, 2004 08:50 am
Nick Vargish Mar 11, 2004 02:28 pm
Peter Hickman Mar 11, 2004 02:50 pm
Cameron Laird Mar 11, 2004 03:24 pm
Peter Hickman Mar 12, 2004 09:50 am
John Roth Mar 12, 2004 12:07 pm
Peter Hickman Mar 12, 2004 12:19 pm
David MacQuigg Mar 11, 2004 08:05 pm
Roger Binns Mar 11, 2004 01:08 am
DH Mar 11, 2004 01:37 am
Roger Binns Mar 11, 2004 04:06 am
Steve Lamb Mar 11, 2004 01:43 am
Gustavo Niemeyer Mar 11, 2004 03:12 am
Paul McGuire Mar 11, 2004 03:17 am
Peter Maas Mar 11, 2004 12:15 pm
David MacQuigg Mar 11, 2004 04:35 pm
Peter Hansen Mar 11, 2004 05:01 pm
David MacQuigg Mar 11, 2004 05:57 pm
Ixokai Mar 14, 2004 05:17 am
Peter Maas Mar 11, 2004 08:42 pm
David MacQuigg Mar 11, 2004 11:44 pm
Raymond Hettinger Mar 11, 2004 10:15 pm
Paul Rubin Mar 11, 2004 11:24 pm
wmwd...@sneakemail.com ) (Greg Ewing (using news.cis.dfn.de) Mar 12, 2004 03:12 am
Bas Mar 12, 2004 08:07 pm
Peter Hansen Mar 12, 2004 10:17 pm
Donn Cave Mar 12, 2004 10:57 pm
Cameron Laird Mar 11, 2004 12:55 pm
Kyler Laird Mar 11, 2004 02:09 pm
Richie Hindle Mar 11, 2004 02:41 pm
David MacQuigg Mar 11, 2004 02:49 pm
Kyler Laird Mar 11, 2004 06:09 pm
David M. Cooke Mar 11, 2004 09:26 pm
Kyler Laird Mar 12, 2004 12:01 am
Myles Mar 12, 2004 12:05 am
John Roth Mar 11, 2004 02:37 pm
David MacQuigg Mar 11, 2004 03:57 pm
John Roth Mar 11, 2004 04:17 pm
David MacQuigg Mar 11, 2004 05:41 pm
John Roth Mar 11, 2004 06:03 pm
David MacQuigg Mar 11, 2004 09:24 am
Cameron Laird Mar 11, 2004 05:13 am
David MacQuigg Mar 11, 2004 08:42 am
Cameron Laird Mar 11, 2004 03:35 pm
Cameron Laird Mar 12, 2004 01:19 am
wmwd...@sneakemail.com ) (Greg Ewing (using news.cis.dfn.de) Mar 12, 2004 03:11 am
Messages in this thread