<div class="gmail_quote">On Mon, Dec 26, 2011 at 5:29 PM, Ville Voutilainen <span dir="ltr"><<a href="mailto:ville.voutilainen@gmail.com">ville.voutilainen@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
On 26 December 2011 17:26, Juan Jose Garcia-Ripoll<br>
<div class="im"><<a href="mailto:juanjose.garciaripoll@googlemail.com">juanjose.garciaripoll@googlemail.com</a>> wrote:<br>
> (MACROLET ((%M (Z)<br>
> Z))<br>
> (CTYPECASE (EXPAND-IN-CURRENT-ENV (%M :FOO))<br>
> (INTEGER :BAD1)<br>
> (KEYWORD :GOOD)<br>
> (SYMBOL :BAD2)))<br>
> What is this supposed to check? In ECL this leads to the following code<br>
> (CTYPECASE :FOO<br>
> (INTEGER :BAD1)<br>
> (KEYWORD :GOOD)<br>
> (SYMBOL :BAD2)))<br>
<br>
</div>I'm no expert, but this looks like it checks that a macrolet-ted<br>
identity macro doesn't<br>
change the identity of its argument, when expanded with the current environment.<br>
</blockquote></div><br>The test is named CTYPECASE.14 in the test suite, so I doubt that it is actually checking MACROLET, but rather how CTYPECASE treats the evaluated form, and which is the active environment in which it is evaluated. Otherwise the test could have been simply a TYPECASE with an otherwise clause.<div>
<br></div><div>Juajo<br clear="all"><div><br></div>-- <br>Instituto de Física Fundamental, CSIC<br>c/ Serrano, 113b, Madrid 28006 (Spain) <br><a href="http://juanjose.garciaripoll.googlepages.com" target="_blank">http://juanjose.garciaripoll.googlepages.com</a><br>
</div>