[r6rs-discuss] R6 counterproposal
owinebar at indiana.edu
Tue May 29 16:09:25 EDT 2007
R. Kent Dybvig wrote:
>> the very mechanism that makes referential transparency and hygiene
>> practical, the lazy propagation of scoping information and marks,
>> also makes it difficult to interpret what (datum->syntax template-id
>> datum) does when you get an expression that's been heavily munged already.
> Lazy propagation of scoping information and marks has no impact on the
> behavior of datum->syntax. If the information is propagated eagerly to
> all identifiers at once it is the same as if it is propagated lazily.
Ok, I've been confused this whole time about what "template-identifier"
means. I always took it to refer to a pattern variable (identifier in the
In any case, this restriction illustrates what I am discussing.
In the lambda calculus, every form has a definite lexical that applies to
the whole form. In syntax-case there is no way to bless an object with a
scope that would make it fall in the scope of every identifier in the form.
You are, of course, right about it not being related to the laziness.
In the eager version, everything just got pushed down to the identifiers
immediately, if I recall correctly. I associated it with the laziness
because that mechanism does give some scoping information to constructed
More information about the r6rs-discuss