Re: First impressions of the specification Alan Manuel Gloria 28 Mar 2013 02:20 UTC
On Wed, Mar 27, 2013 at 9:00 PM, Mark H Weaver <xxxxxx@netris.org> wrote: >>> * I have doubts whether the addition of '!' as an indentation character >>> is worth the added complexity in the spec (which is far more complex >>> than I'd prefer, and I'm sure I'm not alone in feeling that way). >>> Python seems to do fine without such a character. So do Makefiles. >>> If it's truly needed, then it presents authors with a dilemma about >>> whether or not to put them in all the code that they write. >> >> ! is surprisingly useful. Here's an example which is readable, but >> difficult to modify if you need to add an else clause: >> >> define (foo x) >> define something $ cond >> (pred1? x) $ begin >> something that is >> very long >> spanning several lines >> and might >> end up >> with severe >> changes in indentation >> like this >> and so on >> so forth >> whatsover ... >> (pred2? x) $ begin >> another long clause >> involving several >> more lines >> and which >> also ends >> in >> (severe) >> changes >> in indentation >> at the end >> quux something > > Hmm. I see what you mean, but I'd expect python to have the same > problem, and yet they seem to do fine without this. > > For that matter, a similar example using traditional S-expressions could > demonstrate the difficulty in adding a new clause and getting things > lined up properly. Of course, as you say: > >> In s-expressions, it's safe to lose a space or two when you insert a >> clause at the end of the cond - the parens (should) guide the parser >> to the correct insertion. > > and that's true in theory, but in practice we almost never see > incorrectly indented S-expr code, and that's because almost everyone who > writes Lisp gets a lot of help from modern editors. > > And that leads to my next question: has anyone written a nice emacs mode > to help edit sweet expressions? I think that such a mode will be > crucial for adoption. I doubt that many Lisp hackers will be interested > in trying to get things lined up by hand. We've had better tools for > decades, and have grown accustomed to those conveniences. Almost none > of us want to go back to the stone age, no matter how nice it looks. None so far, sadly. Both dwheeler and I are vim users, me much more so than David. I have no real idea how modes work in emacs at all, and vim-isms are quite ingrained in my fingers by now (hjkl when I meant to use arrow keys to scroll, for example). ! is a boon to me, particularly with vim's Ctrl-V block selector and "r" commands. dwheeler occassionally uses emacs I think (?) so he might be more capable of doing this. Sincerely, AmkG