Subject: Re: Parentheses Hierarchy From: Erik Naggum <email@example.com> Date: 1999/07/24 Newsgroups: comp.lang.lisp Message-ID: <firstname.lastname@example.org> * joe comunale <email@example.com> | Hi, I am an admirer of LISP... I only wish I knew it better. That being | said, I would like (and dare) to suggest an improvement - introducing an | idea we use in Physics. physics is a field very heavily optimized for those who understand it, or to put it another way: it is not a field well known to treat beginners nicely and many people are unable to grasp physics for a multitude of reasons. you are therefore importing a trait from a beginner-hostile world to another world that is not nice to you as a beginner simply because you are _not_ a beginner in the former and are a beginner in the latter. this is a ridiculously naïve approach to solving problems. | I submit a sample comparison test below: | | (cond ( ( = 0 (mod n i) ) ( + i sum ) ) ) Lisp programmers write (cond ((= 0 (mod n i)) (+ i sum))) and don't have a problem with it, but if they do, they break it into two or three lines, as several people have shown. moreover, modern-day programmers appear to think color is the answer to all problems, so those who think this is worth doing would colorize the condition differently from the consequent. since you can add color without affecting the syntax, I would suggest you investigate that option as a beginner rather than suggest changes that could only affect future code, unless you were willing to make changes to the way you view code. however, once you start down the road of making modifications to how you view code, there's nothing to stop you from making your proposed syntax change locally so that you see more diverse parens, but the file contains normal parens. I view it as a serious short-coming of programming textbooks that they don't deal with issues of representation and presentation. it's integral to Lisp whose lists have a linked list representation and a parenthesized presentation, whose integers are sometimes made up of "bigits" but still print like normal integers, and myriad other useful layerings of abstract idea, machine representation, and presentation forms to the human. take this Y2K silliness, which should be regarded as a monumental flaw in the way people are taught how to deal with dates and time. | My point is to set this up in the "kernel" and enable everyone, | especially struggling students (like myself), to easily read LISP. noble goal, but your suggestion is missing the boat -- students exposed to your redesign would be at loss if you weren't also going to re-publish all textbooks using your new system. I suggest you use colors as your first approximation to ease readability, and if you can't do that, use a paren matching mode that highlights the form the cursor/mouse is over, and then resort to syntactic rewrites in the display to the user. and if you aren't using Emacs, now is a good time to start. programming it is even done in a sort of Lisp. (don't pick up too many habits, though.) #:Erik -- suppose we blasted all politicians into space. would the SETI project find even one of them?