Subject: Re: Comments, was Re: Parentheses Hierarchy From: Erik Naggum <firstname.lastname@example.org> Date: 1999/07/27 Newsgroups: comp.lang.lisp Message-ID: <email@example.com> * Tom Breton <firstname.lastname@example.org> | I have never suggested in any way that comments should carry any | additional information. which is the very definition of additional information, since comments carry exactly zero information to the READ function. | I say they should not be lost during mechanical transformation. READ is the wrong function for mechanical transformation of source code, but the right function for mechanical transformation of parsed source code. I really don't see why you keep not getting this distinction. is it because you perchance do not understand what READ does and that Lisp source code is _not_ stored as text? nah, that just _can't_ be. incidentally, speaking of mechanical transformation, one of my pet peeves with Emacs is that M-^ (delete-indentation) does not understand comments. consider ...) ;blargh ))) and try to lift the closing parens up to the preceding line with M-^. it becomes ...) ;blargh))) which is wrong, but if comments are structured objects and we have: ...)))) ;blargh the comment is now at a different location in the tree, and if this was the end of a top-level form, the comment is strictly speaking not part of the top-level form, anymore. somehow, humans don't have a problem with that, which suggests that comments are extrastructural, or floating in the source. in the SGML world, which you're trying to reinvent for Lisp, we had floating elements, too, called "inclusion exceptions". the best way to deal with them was to take them out of the source tree and just remember where they were while hanging them on another tree. this was how they were intended to be used, for things like figures, anchors for indices and hypertext, etc, etc, so it wasn't a problem until somebody wanted to use them to "fix" "broken" DTDs. then we realized what a horrible mistake it was not to say outright that they were not part of the structure. but it would equally be a mistake to require them to be placed elsewhere, with explicit anchor points in the structure, so the general concensus emerged that they should never be used for fixing DTDs, only for extrastructural elements. I think I have to write a book, "Know SGML, Forget SGML", and I wonder if it should have a subtitle like "some unforgettable lessons". #:Erik -- suppose we blasted all politicians into space. would the SETI project find even one of them?