<div class="gmail_extra">On Fri, Nov 16, 2012 at 8:22 PM, Matthias Hölzl <span dir="ltr"><<a href="mailto:tc@xantira.com" target="_blank">tc@xantira.com</a>></span> wrote:<br><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div><font face="Monaco" style="font-size:12px">Condition of type: TYPE-ERROR</font></div><div><font face="Monaco" style="font-size:12px">SI:MISSING-KEYWORD is not of type SNARK-SPARSE-ARRAY::SPARSE-VECTOR-INDEX.</font></div>
<div><font face="Monaco" style="font-size:12px">Available restarts:</font></div><div></div></blockquote></div><br>Snark is using a lambda form with keywords in lisp-1 position. The code in ECL for that was obsolete -- it was using an old symbol to mark missing keywords and this lead to wrong code. I have fixed this.</div>
<div class="gmail_extra"><br></div><div class="gmail_extra">Note however that such lambda forms are suboptimal for ECL and lead to consing. Perhaps this can be fixed on the ECL side, but such code is hard to analyze due to the interaction between lambda forms and &allow-other-keys: the arguments to the lambda form may influence the parsing and thus the ugly code can never be prevented.</div>
<div class="gmail_extra"><br></div><div class="gmail_extra">In other words, do not use lambda forms with keywords to force inlining.</div><div class="gmail_extra"><br></div><div class="gmail_extra">Juanjo<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>