Subject: Re: #;
From: rpw3@rpw3.org (Rob Warnock)
Date: Fri, 11 Jan 2008 22:26:50 -0600
Newsgroups: comp.lang.lisp
Message-ID: <cKSdnXhKGegX3BXanZ2dnUVZ_g-dnZ2d@speakeasy.net>
Ron Garret  <rNOSPAMon@flownet.com> wrote:
+---------------
|  Ray Dillinger <bear@sonic.net> wrote:
| > I think maybe I'm missing something.  ;# would introduce a comment 
| > that runs to the next line break whereas the R6RS #; form introduces 
| > a comment that runs to the end of the following datum. 
| > So something like 
| >    (+ 1 2 #;bogus 4 5) => 12 
| > whereas something like 
| >    (+ 1 2 ;#bogus 4 5)  can't even be evaluated; it's incomplete.
| > I'm not seeing the equivalence here. 
| 
| Use #+#:\; then.
+---------------

As noted before, #+- is simpler, and #-+ is a matching complement:

    > (list 1 2 #+- 3 4 #-+ 5 6)

    (1 2 4 5 6)
    > 

But as Kent has pointed out, all *three* of the above *might*
be faked out with infelicitous PUSHes to *FEATURES*, so the
only[1] really portable ones are #-(and) and #+(and):

    > (list 1 2 #-(and) 3 4 #+(and) 5 6)

    (1 2 4 5 6)
    > 


-Rob

[1] Well, only ones with intuitive visual polarities.
    As I've mentioned before, I prefer #-(and) & #+(and)
    to #+(or) & #-(or), respectively, because the former
    are more mnemnonic. When using AND, one turns *off*
    a form with minus, and turns *on* a form with plus.

-----
Rob Warnock			<rpw3@rpw3.org>
627 26th Avenue			<URL:http://rpw3.org/>
San Mateo, CA 94403		(650)572-2607