[pro] #; comments...

Tobias C Rittweiler tcr at freebits.de
Sun May 6 20:34:52 UTC 2012


In article <AE74261C-E7E8-4A56-B708-B5B135A3FB29 at p-cos.net>,
 Pascal Costanza <pc at p-cos.net> wrote:

> Hi,
> 
> I'm thinking about writing up a CDR on #;-style comments. Currently, if you 
> want to comment out a form from CL code, there is no standard way of doing 
> this. Many people use something like #+nil, or similar tricks, but this is 
> not 100% reliable. R6RS Scheme introduced #; as a solution, and this seems to 
> become somewhat popular in CL as well.
> 
> Here is a suggested wording.
> 
> ------------- snip -----------------
> 
> #; is used to comment out single expressions; the syntax is /#; expression/. 
> This textual notation is treated as whitespace; that is, it is as if the ``#; 
> expression'' did not appear and only a space appeared in its place.
> 
> #; operates by skipping over the form. Skipping over the form is accomplished 
> by binding *read-suppress* to true and then calling read.
> 
> ------------- snip -----------------
> 
> The text is based on 2.4.8.17 of the HyperSpec. Yes, this would be a fairly 
> short CDR document.
> 
> Any comments or ideas about this?

I don't see the need for it. #+nil will work just fine de facto.
And for the paranoid, there's the trick that Robert Smith mentioned 
(#+#:foo).

The only thing that could make it interesting because it'd add
something to the table, is to allow e.g. #2; to comment out the next
two forms. It sounds a bit insane, though.

T


PS.

According to Figure 2-19 in CLHS 2.4.8, #, is not explicitly reserved
for the user (most likely as #, was something akin to LOAD-TIME-VALUE
in CLtL1.) I just wanted to point that out in case you do write a CDR
where you might want to mention it.

> 
> 
> Best,
> Pascal
> 
> --
> Pascal Costanza





More information about the pro mailing list