[racket-dev] New error messages for *SL

From: Guillaume Marceau (gmarceau at gmail.com)
Date: Thu Jul 7 12:09:48 EDT 2011

On Thu, Jul 7, 2011 at 11:49 AM, Guillaume Marceau <gmarceau at gmail.com> wrote:
>>>> I'm talking about the references to identifiers, and sections.
>>>> Guillaume and I want pure, verbatim duplication of a piece of
>>>> documentation.
>>> Is the issue is that you want the links in one copy of the docs to go
>>> to one place and the links in another copy to go in another place and
>>> Scribble's use of lexical scope to do linking is getting in your way?
>> Yes.
> Yes
> Right now I am using macros that accept some identifiers as an
> argument, instead of breaking hygiene.
> (define-syntax-rule (define-form/explicit-lambda define lambda)
> (make-splice
>  (list
> @defform/none[#:literals (define lambda)
>              (... (define name (lambda (variable variable ...) expression)))]{
> An alternate way on defining functions. The @racket[name] is the name of
> the function, which cannot be the same as that of another function or
> variable.
> @defidform/inline[lambda] cannot be used outside of this alternate syntax.
> }
> )))

... that macro works well enough.

If I could ask for something better, it would be something like
@duplicate-documentation[define-struct #:from htdp-beginner].

The big problem at the moment is that the layout engine doesn't know
what to do with the source information generated from the macro, so
the HTML comes out all wrong.

Posted on the dev mailing list.