| Store | Cart

Extending Python Syntax with @

From: David MacQuigg <d...@gain.com>
Thu, 11 Mar 2004 09:35:04 -0700
On Thu, 11 Mar 2004 13:15:39 +0100, Peter Maas
<fpetermaas at netscape.net> wrote:

>David MacQuigg schrieb:>> Seems like we need a simple way to extend Python syntax that doesn't>> break existing syntax or clash with any other syntax in Python,>[...]>> @x,y:x*x+y*y    -- anonymous function>>Advantage of your proposal:>>- easy to extend the language without breaking existing code.>>Disadvantages of your proposal:>>- The advantage is also a disadvantage: a lowered barrier for>   new semantics could bloat the language definition. Python's>   strength is that it has *few* concepts that are usable in *many*>   places. This could be compromised by your proposal.

This is actually a separate issue.  Adding a few @ mods to selected
statements does not mean that users can add their own.

>- Python is a readable language. lambda says "function literal",>   yield says "generator", @ just says "different". Python would>   be less readable if this notation would be adopted.

Readability, in this case, is in the eye of the beholder.  'lambda' to
me says 'wavelength', which I know has nothing to do with programming.
I suspect many users are like me, not enough computer science
background to know that lambda means 'function literal'.

'yield' is a little closer to the intent, but again, to most new users
it probably means something more like 'give way' or 'acquiesce', the
opposite of 'resist'.  If you had never seen 'yield' used as it is now
in Python, and your first encounter with generator functions was when
you saw @return, would you not think "Ah yes, a modified return.", and
would that not be closer to reality than whatever you might associate
with the word 'yield'?

@ would never be used alone.  Like the '\' symbol used as an escape,
its meaning beyond 'different' is seen by its context.

Again, these examples are to illustrate a discussion on syntax, not to
urge changing what has already been done.  ( Althugh I just learned
from another part of this thread that 'lambda' *is* going to be
deprecated !! )

I almost wish Python had adopted the Unix philosphy of using short,
meaningless words for primitives.  That would have avoided the problem
we are having now with 'print'.  Words like 'cat' and 'grep' acquire
their own meaning, not dependent on previous meanings in English.

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