Thank you for your thoughts on this! On 2006-11-28, Nikodemus Siivola <[EMAIL PROTECTED]> wrote: > Larry Clapp <[EMAIL PROTECTED]> writes: > >> *** I have this cool idea for a new Lisp dialect / Lisp syntax that >> doesn't involve so many parentheses! It uses indentation to show >> structure! >> >> Since the advent of Python, this comes up on c.l.l. with some >> regularity. We've had "sweet-expressions" and "indented Lisp" and >> probably others. >> >> Realize a few things: >> >> @ You should use an editor that makes writing Lisp easier, like >> Emacs or Vim. Both of these can indent based on parenthesis >> nesting, highlight matching parentheses, cut and paste entire blocks >> of code based on the parentheses, and so on. If your editor can't >> do all that, get a new editor. >> >> @ Lispers already read code based on indentation, but their editors >> indent and re-indent code automatically. \i{Removing} the >> parentheses makes that \i{harder}. >> >> @ After you've written and read enough Lisp, you stop seeing the >> parentheses. (Reports, from actual newbies who've experienced it, >> vary from a few days to a few weeks.) They don't \i{disappear} in >> some magical way, but you start to see the structure of the code >> rather than just "lots of fingernail clippings". > > I think the above is sufficient, and the rest is superfluous. > >> >> @ Parentheses are an accident of history. Any other matching >> delimiter would work just as well.
On further thought I could see that about this one. >> @ Parentheses are an accident of syntax. They show block structure, >> nothing more. You can view (a b c) as "(a b c)" or as >> >> +------+ +------+ +---------+ >> | a | ---> | b | ---> | c | nil | >> +------+ +------+ +---------+ >> >> Adding or removing parentheses -- or adding indentation -- to the >> blocks-and-arrows notation makes no sense. To a Lisper that has >> learned to recognize the () notation \i{as} the blocks-and-arrows >> structure, it makes just as little sense. I think this point expands on point 3. Perhaps I could combine and shorten them? >> @ Almost regardless of the actual merit (\i{*cough*} if any >> \i{*cough*}) of your idea, most c.l.l.'ers (and probably other >> Lispers, too) will greet your idea with derision and mockery. I think this is worth pointing out to the newbie. Maybe could rephrase as Given all the above, if you go ahead and build or use an indentation-based Lisp ("IBL"), be prepared to abandon it after you get sufficiently into Lisp. And if you post about your IBL to c.l.l., be prepared for a less-than-welcoming response. (We'd love to hear about an IBL-er abandoning it for parentheses, though. This would provide empirical evidence to which we could direct later newbies.) -- Larry _______________________________________________ cl-faq mailing list cl-faq@lispniks.com http://www.lispniks.com/mailman/listinfo/cl-faq