[pro] #; comments...

Pascal Costanza pc at p-cos.net
Sun May 6 19:30:32 UTC 2012


Hi,

I haven't thought of that idea. But it does look ugly, doesn't it? ;)

Pascal

On 6 May 2012, at 21:07, Robert Smith wrote:

> Hello,
> 
> You say #+nil is not reliable, which I agree with. However, what I'm
> in the habit of using is #+#:ignore, which AFAIK should be always
> reliable: #:ignore won't and can't be interned.
> 
> Even if #:ignore is in your features, it won't help.
> 
> CL-USER> (push '#:ignore *features*)
> (#:IGNORE ...)
> CL-USER> (+ 1 #+#:ignore 2 3)
> 4
> 
> I do use this in practice, and I also use it as a form of
> documentation on why I'm commenting something out. As a sort of
> contrived example:
> 
> (defun f ()
>  #+#:ignore-buggy
>  (progn ...)     ; buggy code
> 
>  (progn ...))    ; working code
> 
> Though, this is certainly clunkier than a dedicated #; macro.
> 
> Cheers!
> 
> Robert Smith
> quad at symbo1ics.com
> 
> On Sun, May 6, 2012 at 1:57 PM, 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?
>> 
>> 
>> Best,
>> Pascal
>> 
>> --
>> Pascal Costanza
>> 
>> 
>> 
>> 
>> _______________________________________________
>> pro mailing list
>> pro at common-lisp.net
>> http://lists.common-lisp.net/cgi-bin/mailman/listinfo/pro

--
Pascal Costanza







More information about the pro mailing list