[plt-scheme] local special syntax confusion

From: Psy-Kosh (psykosh at earthlink.net)
Date: Thu Jan 3 00:34:15 EST 2008

First, thank you for taking the time to reply.

Spent a bit of time reading and thinking about your explanation, and I  
think I have a _partial_ grasp, but only a partial one.

> The application isn't in the scope of the nonhygienically introduced  
> binding, because it's in the right-hand side of 'let-syntax'.

Sorry, that's one (the main) bit I don't follow. ie, in the let-syntax  
expression, shouldn't the #%app that's explicitly there be replaced with  
the syntax object from the with-syntax form? That is, I don't quite follow  
why it's not. (or did you mean it is, but somehow the implicit #%app later  
doesn't see it?

> In this case, the reference to '#%app' is implicit. And if it were  
> explicit, it would be substituted away as a pattern variable. So it's an  
> unusual case. My advice would be not to use the implicit syntax names  
> (like '#%app', '#%datum', '#%top') as pattern variable names.

*blinks* is this a matter of timing? ie, when the implicit #%app is  

If so, why does version #1 work at all? That is, why wouldn't the same  
principle cause the implicit #%app in the first version to see the  
standard #%app rather than the locally introduced one?

And again, thank you.


Posted on the users mailing list.