<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div><br></div><div><br></div><div>Some more investigation:&nbsp;</div><div><br></div><div>If you remove the hack mentioned below, your comments in chunks disappear:&nbsp;</div><div><br></div><div>#lang scribble/lp</div><div><div><br></div><div>Literate programs have chunks of code, like this one:</div><div><br></div><div>@chunk[&lt;f&gt;</div><div>&nbsp; &nbsp; &nbsp; &nbsp;(define (f x)</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;;; hello world disappears&nbsp;</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&lt;fs-body&gt;)]</div><div><br></div><div>and this one:</div><div><br></div><div>@chunk[&lt;fs-body&gt;</div><div>&nbsp; &nbsp; &nbsp; &nbsp;(* x x)]</div><div><br></div><div>that, when assembled, produce a complete program, in this case:</div><div><br></div><div>@racketblock[(define (f x)</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;(code:comment "hello")&nbsp;</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;(* x x))]</div></div><div><br></div><div><br></div><div>That is code:comment works as expected. The code also works when run:&nbsp;</div><div><br></div><div><blockquote type="cite"><div><font class="Apple-style-span" color="#000000">Welcome to DrRacket, version 5.3.0.2--2012-04-20(25d7d49/g) [3m].</font></div><div><font class="Apple-style-span" color="#000000">Language: scribble/lp.</font></div><div><font class="Apple-style-span" color="#000000">&gt; (f 10)</font></div><div><font class="Apple-style-span" color="#000000">100</font></div></blockquote><br></div><div>I am not sure whether this is what you want but that's all I can figure out.&nbsp;</div><div>From what I can tell, LP parses the module (via expand), extracts chunks&nbsp;</div><div>and compiles&nbsp;them into a complete program. In the process all comments</div><div>go away.&nbsp;</div><div><br></div><div>The extra code appears to come from me but I have never actually worked</div><div>on LP or used it so this will remain a mystery to me. Apologies&nbsp;</div><div><br></div><div>-- Matthias</div><div><br></div><div><br></div><div><br></div><br><div><div>On Apr 23, 2012, at 2:44 PM, Deren Dohoda wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><p>I've never gotten into anything but trivial syntax operations. I'd be happy to dig further if anyone can get me started on stepping though expansions of included files. Sounds like a good learning opportunity.<br>

</p>
<div class="gmail_quote">On Apr 22, 2012 3:34 PM, "Matthias Felleisen" &lt;<a href="mailto:matthias@ccs.neu.edu">matthias@ccs.neu.edu</a>&gt; wrote:<br type="attribution"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
I haven't used /lp myself. I am stuck here -- Matthias<br>
<br>
<br>
<br>
On Apr 22, 2012, at 12:25 AM, Deren Dohoda wrote:<br>
<br>
&gt; Hi Matthias,<br>
&gt;<br>
&gt; I cannot seem to get it to work. I can get scribble to be happy, but<br>
&gt; not the scribble/lp file.<br>
&gt;<br>
&gt; First try: (somewhere in the middle of the file)<br>
&gt; @(begin<br>
&gt; &nbsp; #reader scribble/comment-reader<br>
&gt; &nbsp; (chunk &lt;hs-from-xs&gt;<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;(define hs ; (xi+1) - xi<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;(map - (rest xs) (drop-right xs 1)))))<br>
&gt; Second try:<br>
&gt; @chunk[&lt;hs-from-xs&gt;<br>
&gt; &nbsp; &nbsp; &nbsp; #reader scribble/comment-reader<br>
&gt; &nbsp; &nbsp; &nbsp; (define hs ; (xi+1) - xi<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; (map - (rest xs) (drop-right xs 1)))]<br>
&gt;<br>
&gt; Both can be scribbled with the comment when included with (lp-include<br>
&gt; ...), but doesn't run when one runs the file itself. When the file is<br>
&gt; run, this error appears: "bad syntax (multiple expressions after<br>
&gt; identifier) in: (define hs (code:comment ..." The only place I can<br>
&gt; find code:comment defined is in<br>
&gt; "...Racket/collects/scribble/lp/lang/lang.rkt":<br>
&gt; (provide code:comment)<br>
&gt; (define-syntax (code:comment stx)<br>
&gt; &nbsp;(if (eq? (syntax-local-context) 'expression)<br>
&gt; &nbsp; &nbsp; &nbsp;(syntax (void))<br>
&gt; &nbsp; &nbsp; &nbsp;(syntax (define (f x) x))))<br>
&gt;<br>
&gt; It looks like it was supposed to strip the comment when being run.<br>
&gt; "...Racket/collects/scribble/comment-reader.rkt" does have<br>
&gt;<br>
&gt; (define (do-comment port recur)<br>
&gt; &nbsp; &nbsp;(let loop ()<br>
&gt; &nbsp; &nbsp; &nbsp;(when (equal? #\; (peek-char port))<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp;(read-char port)<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp;(loop)))<br>
&gt; &nbsp; &nbsp;(when (equal? #\space (peek-char port))<br>
&gt; &nbsp; &nbsp; &nbsp;(read-char port))<br>
&gt; &nbsp; &nbsp;`(code:comment<br>
&gt; &nbsp; &nbsp; &nbsp;(unsyntax ...<br>
&gt;<br>
&gt; So it seems like this is where code:comment is coming from, but for<br>
&gt; some reason the code:comments rule from lang.rkt isn't seeing it.<br>
&gt;<br>
&gt; Deren<br>
&gt;<br>
&gt; On Sat, Apr 21, 2012 at 9:07 PM, Matthias Felleisen<br>
&gt; &lt;<a href="mailto:matthias@ccs.neu.edu">matthias@ccs.neu.edu</a>&gt; wrote:<br>
&gt;&gt;<br>
&gt;&gt; Do you use<br>
&gt;&gt;<br>
&gt;&gt; @;%<br>
&gt;&gt; @(begin<br>
&gt;&gt; #reader scribble/comment-reader<br>
&gt;&gt; (racketblock<br>
&gt;&gt; (place-image ROCKET X ... MTSCN)<br>
&gt;&gt; ))<br>
&gt;&gt; @;%<br>
&gt;&gt;<br>
&gt;&gt; to write down code blocks? It installs a reader that can cope with comments.<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; On Apr 21, 2012, at 4:53 PM, Deren Dohoda wrote:<br>
&gt;&gt;<br>
&gt;&gt;&gt; I have finally started learning scribble for use in literate<br>
&gt;&gt;&gt; programming to break away from noweb for Racket. It's quite excellent,<br>
&gt;&gt;&gt; I am glad to be making the switch. Thank everyone for their work. I<br>
&gt;&gt;&gt; miss the math of latex but it isn't a dealbreaker.<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; However, part of writing code is commenting the code for reminders of<br>
&gt;&gt;&gt; why little bits are the way they are. The problem is that the scribble<br>
&gt;&gt;&gt; HTML output has stripped all comments from the chunks. I have tried<br>
&gt;&gt;&gt; digging down into scribble/lp but I must admit the guts are outside my<br>
&gt;&gt;&gt; ability to understand. I'm guessing it is because the reader has<br>
&gt;&gt;&gt; already stripped comments from the syntax by the time Racket gets to<br>
&gt;&gt;&gt; the "chunk" syntax rule. The one bit that seems to indicate it strips<br>
&gt;&gt;&gt; comments (code:comment) never seems to be used anywhere. I know that<br>
&gt;&gt;&gt; there are code examples with comments in the Racket documentation. Is<br>
&gt;&gt;&gt; there any way to keep code comments preserved in the scribbled view of<br>
&gt;&gt;&gt; chunks?<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; Thanks,<br>
&gt;&gt;&gt; Deren<br>
&gt;&gt;&gt; ____________________<br>
&gt;&gt;&gt; &nbsp;Racket Users list:<br>
&gt;&gt;&gt; &nbsp;<a href="http://lists.racket-lang.org/users" target="_blank">http://lists.racket-lang.org/users</a><br>
&gt;&gt;<br>
<br>
</blockquote></div>
</blockquote></div><br></body></html>