[racket] scribble/lp: comments stripped, how to stop?

From: Deren Dohoda (deren.dohoda at gmail.com)
Date: Sun Apr 22 00:25:24 EDT 2012

Hi Matthias,

I cannot seem to get it to work. I can get scribble to be happy, but
not the scribble/lp file.

First try: (somewhere in the middle of the file)
@(begin
   #reader scribble/comment-reader
   (chunk <hs-from-xs>
          (define hs ; (xi+1) - xi
            (map - (rest xs) (drop-right xs 1)))))
Second try:
@chunk[<hs-from-xs>
       #reader scribble/comment-reader
       (define hs ; (xi+1) - xi
         (map - (rest xs) (drop-right xs 1)))]

Both can be scribbled with the comment when included with (lp-include
...), but doesn't run when one runs the file itself. When the file is
run, this error appears: "bad syntax (multiple expressions after
identifier) in: (define hs (code:comment ..." The only place I can
find code:comment defined is in
"...Racket/collects/scribble/lp/lang/lang.rkt":
(provide code:comment)
(define-syntax (code:comment stx)
  (if (eq? (syntax-local-context) 'expression)
      (syntax (void))
      (syntax (define (f x) x))))

It looks like it was supposed to strip the comment when being run.
"...Racket/collects/scribble/comment-reader.rkt" does have

(define (do-comment port recur)
    (let loop ()
      (when (equal? #\; (peek-char port))
        (read-char port)
        (loop)))
    (when (equal? #\space (peek-char port))
      (read-char port))
    `(code:comment
      (unsyntax ...

So it seems like this is where code:comment is coming from, but for
some reason the code:comments rule from lang.rkt isn't seeing it.

Deren

On Sat, Apr 21, 2012 at 9:07 PM, Matthias Felleisen
<matthias at ccs.neu.edu> wrote:
>
> Do you use
>
> @;%
> @(begin
> #reader scribble/comment-reader
> (racketblock
> (place-image ROCKET X ... MTSCN)
> ))
> @;%
>
> to write down code blocks? It installs a reader that can cope with comments.
>
>
>
> On Apr 21, 2012, at 4:53 PM, Deren Dohoda wrote:
>
>> I have finally started learning scribble for use in literate
>> programming to break away from noweb for Racket. It's quite excellent,
>> I am glad to be making the switch. Thank everyone for their work. I
>> miss the math of latex but it isn't a dealbreaker.
>>
>> However, part of writing code is commenting the code for reminders of
>> why little bits are the way they are. The problem is that the scribble
>> HTML output has stripped all comments from the chunks. I have tried
>> digging down into scribble/lp but I must admit the guts are outside my
>> ability to understand. I'm guessing it is because the reader has
>> already stripped comments from the syntax by the time Racket gets to
>> the "chunk" syntax rule. The one bit that seems to indicate it strips
>> comments (code:comment) never seems to be used anywhere. I know that
>> there are code examples with comments in the Racket documentation. Is
>> there any way to keep code comments preserved in the scribbled view of
>> chunks?
>>
>> Thanks,
>> Deren
>> ____________________
>>  Racket Users list:
>>  http://lists.racket-lang.org/users
>


Posted on the users mailing list.