[R6RS] modules

Matthew Flatt mflatt
Tue Aug 24 11:30:58 EDT 2004


At Tue, 24 Aug 2004 10:17:10 -0500 (EST), "R. Kent Dybvig" wrote:
> This seems more symmetrical, and otherwise, people are going to be
> surprised when:
> 
>   (module A (f) (define f ---))
> 
>   (module B (a)
>     (define-syntax a
>       (lambda (x)
>         (require A)
>         (f x))))
> 
> doesn't work.

I think that it should work without changing `require'. Since the
`(require A)' appears in a compile-time context (relative to the body
of B), it should import compile-time bindings (relative to the body of
B) = run-time relative to its context.

Matthew



More information about the R6RS mailing list