I tried this, and I'm not sure things played out as you said. After walking the Macro Stepper through "(cas-cad-e 2 ((1) 3))," I saw the unbound identifier error without really seeing two different colorings of mtc. But no big deal: I obviously don't understand hygiene as well as I thought I did, so I'll try to learn more about it on my own.<br>
<br>Incidentally, I was surprised to get the same error when I made mtc a literal, along with go! and break. Does hygiene explain this too?<br><br><br><div class="gmail_quote">On Sat, Oct 9, 2010 at 2:58 PM, Shriram Krishnamurthi <span dir="ltr"><<a href="mailto:sk@cs.brown.edu">sk@cs.brown.edu</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">Unfortunately, each of those mtc's is different.<br>
<br>
Let me suggest you do this instead. Put the expression you typed at<br>
the > prompt in the Definitions window, and click on the Macro Stepper<br>
button. Step twice. The coloring is extremely significant (the only<br>
good use of syntax coloring I've seen in my life) -- it represents the<br>
hygienic macro expansion algorithm.<br>
<br>
If this coloring doesn't make sense to you, then you might want to<br>
write a much simpler macro just to explore how hygiene works.<br>
<br>
If this coloring does make sense to you, then you can go back to<br>
understanding its implication for your macro.<br>
<font color="#888888"><br>
Shriram<br>
</font></blockquote></div><br>