[r6rs-discuss] R6 counterproposal
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
template).
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
forms.
Lynn
Received on Tue May 29 2007 - 16:09:25 UTC
This archive was generated by hypermail 2.3.0
: Wed Oct 23 2024 - 09:15:01 UTC