logo       

Re: use-syntax / transformer doc bugs: msg#00090

lisp.guile.devel

Subject: Re: use-syntax / transformer doc bugs

Andy Wingo <wingo@xxxxxxxxx> writes:

> The documentation on module transformers and the "system transformer"
> is a bit shaky.

The whole module system is shaky, especially the interaction with
syntax-case. We need to clean it up in a big way, after 1.8. A basic
plan for what we want to end up with in the lower layers is in
workbook/compilation/new-model.text.

> It's not clear from the docs that what (use-syntax (foo bar)) actually
> does is uses the (foo bar) module, then installs the procedure bound to
> `bar' as (module-transformer (current-module)). That seems like a bit of
> a hack, but whatever.

Yes, that is quite hackish.

> It should be noted that the user should only call
> `use-syntax' for a module that actually implements a transformer, not
> for modules that just export syntax. Also, it should cross-reference to
> the paragraph describing the idea of a syntax transformer.

Do you have a concrete patch for this?

> In guile 1.6.4, (define-module (foo) #:use-syntax (ice-9 syncase)) won't
> work because of this in boot-9.scm:1756:
>
> (case (car kws)
> ((#:use-module #:use-syntax)
> [...]
> (and (eq? (car kws) 'use-syntax)
>
> This is fixed in HEAD, but it would be nice if we could
> s/'use-syntax/#:use-syntax/ in the 1.6 branch.

Yes, we should fix this in 1.6. Also, we need to
s/spec/interface-args/, right? Could you check this and make a patch?

Thanks!


_______________________________________________
Guile-devel mailing list
Guile-devel@xxxxxxx
http://lists.gnu.org/mailman/listinfo/guile-devel



<Prev in Thread] Current Thread [Next in Thread>
Google Custom Search

News | FAQ | advertise