> Meaningful TABs in Python is a brilliant language
> innovation

I think we disagree on that.

> Of the 9 cases you listed, only 
> a+b+ c and a+b + c would have a different parsing than
> the J default: (a+b) + c

Whatever the case is, it is virtually opaque to me.

> The big benefits come with J sentences like:
> +/ ((((4-3)*(4-2))+4)-1),1,((6-4)*2)
> 10
> could be written instead as:
> +/ 4-3 *4-2 +4 -1 ,1, 6-4 *2

...if you say so.

How about:
   +/ (<:4+*/4-3 2),1,2*6-4
although I'm sure there is _some_ reason for the specific sctucture.
-----------------------------------------------------------------------
|\/| Randy A MacDonald             | you can't pay for it,
|/\| [EMAIL PROTECTED]            |       even if you want to.
BSc(Math) UNBF'83 Sapere Aude      | APL: If you can say it, it's done..
Natural Born APL'er                | Demo website: http://142.166.105.166/
----------------------------------------------------(INTP)----{ gnat }-

----- Original Message ----- 
From: "p j" <[EMAIL PROTECTED]>
To: "Programming forum" <[email protected]>
Sent: Wednesday, March 22, 2006 10:07 AM
Subject: Re: [Jprogramming] Radical default parenthesising method/idea


.  Python syntax is essentially what lisp's
> should be.  If you indent lisp in the only standard
> readable way, and then take out the parentheses, you
> essentially have python-looking code.  It is a massive
> productivity boost when editing code that isn't
> behaving exactly as you hoped to not have to cursor
> from bracket to bracket, removing and adding some,
> much less (and more importantly) not having to count
> whether you have correctly matched 6+ closing
> brackets.
> 
> What makes lisp such a poor design, is that
> programmers maintain 2 redundant syntax formattings. 
> Once with tabs, producing python looking code for
> readability, and a duplicate parentheses for the
> compiler.
> 
> 
> If it turns out, what you really meant to write was:
> +/ ((((4-3)* 4))-2+4)-1),((6-4)*2+1)
> then it is much easier to edit the new syntax to:
> +/ 4-3 *4 -2+4 -1 , 6-4 *2+1
> editing the original sentence requires doing a sanity
> check on most of the parens to make sure they reflect
> your intent. and in fact my edited original sentence
> has a syntax error .  What I meant to edit it to:
> +/ (((((4-3)* 4))-2+4)-1),((6-4)*2)
> 1
> 
> I'm not making a J specific criticism with the new
> syntax.  In every language, parsing a lot of parens is
> very slow and unintuitive.  I think its natural to try
> and use spaces as a sanity check to group terms the
> way you intended so that you can fix the parens later
> if the compiler doesn't understand your intent (and
> you forget your intent).  
> 
> The same way that Python "fixed" lisp by removing
> redundant parens formatting (fixed defined as
> overwhelming market acceptance of Python over Lisp
> despite a performance and feature deficit), I think
> the syntax change is easy enough to parse by an
> interpreter, and much easier to read and write by
> programmers.
> 
> In another message, I think Bill mentioned there could
> be html pasting problems with the new syntax.  I'm
> sure thats not the case.  double spaces don't have any
> different meaning that a single space.
> 
> --- Randy MacDonald <[EMAIL PROTECTED]> wrote:
> 
> > 1) I'm not sure I would welcome the need to tell the
> > difference between:
> >    a+b+c
> >    a+b+ c
> >    a+b +c
> >    a+b + c
> >    a+ b+c
> >    a+ b+ c
> >    a+ b +c
> >    a+ b + c
> >    a +b+c
> >    ... and 9 more possibilities.
> > -----------------------------------------------------
> 
> __________________________________________________
> Do You Yahoo!?
> Tired of spam?  Yahoo! Mail has the best spam protection around 
> http://mail.yahoo.com 
> ----------------------------------------------------------------------
> For information about J forums see http://www.jsoftware.com/forums.htm
> 

----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to