> 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
