<span style="font-family: arial,helvetica,sans-serif;">I've played with the recent PS with lexical scoping, and it's grown on me. My concerns about the readability of gensym'd suffixes are not turning out to be as bad as I worried, and I'm noticing several benefits to the idea. I'm hoping the recent batch of bugs we've reported can be fixed so we can upgrade to the latest.</span><br style="font-family: arial,helvetica,sans-serif;">
<br style="font-family: arial,helvetica,sans-serif;"><span style="font-family: arial,helvetica,sans-serif;">In the meantime, I'm trying to understand the intent behind this bit of language redesign. Consider the following:</span><br style="font-family: arial,helvetica,sans-serif;">
<br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">(ps (let ((a 123))</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;"> (blah a))</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;"> (alert a))</span><br><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;"></span>If this were really lexically scoped, the a in the alert form would be undefined. But ps generates:<br>
<br><span style="font-family: courier new,monospace;">"var a = 123;</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">blah(a);</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">alert(a);"</span><br><br>Does this reflect what is intended? If so, is there a clear explanation of just what "lexical scoping" is now offered by PS, i.e. what the rules are, what we should expect, and what we should not expect?<br>
<br>Daniel<br style="font-family: courier new,monospace;">