[R6RS] libraries
Michael Sperber
sperber
Sun Dec 11 10:53:55 EST 2005
dyb at cs.indiana.edu writes:
> So any identifier that leaks out of a module is fair game as long as
> the module itself exports some sort of assignment abstraction. So,
> I presume, this is okay too:
>
> (library S "scheme://r6rs"
> (export A P! s)
> (define s '())
> (define-syntax A
> (syntax-rules ()
> [(_ p x) (p 's x)]))
> (define-syntax P!
> (syntax-rules ()
> [(_ x y) (set! x (cons y s))])))
> (library T "scheme://r6rs"
> (import S)
> (export P0!)
> (define-syntax dequote-P!
> (syntax-rules (quote)
> [(_ (quote x) e) (P! x e)]))
> (define (P0!) (A dequote-P! 0)))
>
> Again, both the set! and "reference" to s appear in the exporting module.
Yes.
(There's some more general problem I have with the use of literals
here, but that doesn't have anything to do with the issue at hand.)
--
Cheers =8-} Mike
Friede, V?lkerverst?ndigung und ?berhaupt blabla
More information about the R6RS
mailing list