[racket] help with scribble/manual

From: Danny Heap (heap at cs.toronto.edu)
Date: Mon May 21 22:22:42 EDT 2012

Thank you, Danny: right both times.

On Mon, May 21, 2012 at 05:00:08PM -0400, Danny Yoo wrote:
> On Mon, May 21, 2012 at 3:36 PM, Danny Heap <heap at cs.toronto.edu> wrote:
> > I am trying to include a small manual page with my (also small)
> > PLaneT module.  Scribble doesn't see the bindings for the functions
> > introduced in my module, judging by the warnings generated by 'raco
> > setup...' --- errors which are also generated when the module is
> > required from the PLanet repository.
> 
> Hmmm... I'm looking at the error messages, and I think they're
> referring to the red-underlined items shown in:
> 
>     http://planet.racket-lang.org/package-source/dsheap/color-utils.plt/1/1/planet-docs/manual/index.html
> 
> 
> The red underlines are legitimate, as they refer to things that you've
> defined in dsheap/color-utils/main.rkt that have not been documented.
> 
> 
> > I was also unable to use @examples[], presumably for the same reason.
> 
> I think this is a separate reason.  If I remember correctly, the
> "examples" form uses some dynamic evaluation, and you may need to give
> it a customized evaluator that knows your library.
> 
> Checking...
> 
>     http://docs.racket-lang.org/scribble/eval.html#(form._((lib._scribble/eval..rkt)._examples))
> 
> ... yes, I think you may need to provide an additional argument to the
> examples that specifies the #:eval argument.
> 
> For example, say that we have a foo-utils.rkt file in my PLanet package:
> 
> ########################
> $ cat foo-utils.rkt
> #lang racket/base
> (define (foo x) x)
> ########################
> 
> Then we can refer to it in our Scribble examples like this:
> 
> 
> 
> ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
> #lang scribble/base
> 
> @(require scribble/eval planet/version)
> 
> @(define my-eval (make-base-eval))
> @(my-eval `(require (planet ,(this-package-version-symbol foo-utils))))
> 
> @examples[#:eval my-eval
> (foo 42)]
> ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
> 
> 
> I hope this helps!

-- 
Danny Heap
BA4270			416-978-5899
heap at cs.utoronto.ca	http://www.cs.utoronto.ca/~heap


Posted on the users mailing list.