On Fri, 2009-06-19 at 18:39 +1000, Ramana Kumar wrote: > This section > http://www.r6rs.org/final/html/r6rs-lib/r6rs-lib-Z-H-1.html#node_toc_node_sec_12.7 > begins by saying you can introduce a fixed number of identifiers by > simply naming them, but when you don't know how many identifiers you > will need you can use generate-temporaries. Now when you introduce > temporary identifiers by simply naming them, they pick up the context > of the transformer. So it seems there's an argument that > generate-temporaries should behave analogously... (which would break > Aziz's original definition of unbound?).
The analogous behavior would be for generate-temporaries identifiers to be given the lexical context of where they are placed in a syntax template (if/when they are). But because of what generate-temporaries identifiers are intended for, there's no reason for them to have any lexical context; they can't refer to anything except introduced bindings to themselves. > What would be missing is a > way to get at an empty context. I'd suggest: (datum->syntax #F <datum>) be made possible. But the only reason for an empty context is to do the free-identifier=? hack. With a primitive identifier-bound?, none of this is necessary. > Is there any way to remove define and > syntax from the context of empty-ctxt in (library (foo) (export > empty-ctxt) (import (only (rnrs) define syntax)) (define empty-ctxt > (syntax here))) ? No. -- : Derick ----------------------------------------------------------------