<div class="gmail_extra">On Sun, Nov 25, 2012 at 9:11 PM, Pascal Costanza <span dir="ltr"><<a href="mailto:pc@p-cos.net" target="_blank">pc@p-cos.net</a>></span> wrote:<br><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">

<div id=":1tq">Next error: slot-unbound errors should not be optimized away as far as I can tell. Or is there anything in specifications (CL or MOP) that allows implementors to do that?<br>
<div class="im"></div></div></blockquote></div><div class="gmail_extra"><br></div><div class="gmail_extra">There are various things conflicting here:</div><div class="gmail_extra"><br></div><div class="gmail_extra">1* There was a typo in the macroexpander for ECL's core functions (not for user functions, AFAIK), which used instance-ref instead of safe-instance-ref. I am uploading a fix tonight, after some further tests.</div>

<div class="gmail_extra"><br></div><div class="gmail_extra">2* There was a problem in the compiler with optimization settings by which (optimize speed) implied (safety 0) in some contexts. Hopefully this has ben solved, too.</div>

<div class="gmail_extra"><br></div><div class="gmail_extra">3* There is nothing in the Hyperspec or the MOP that explains how errors are handled under different optimization settings. Typically, a declaration of low safety leads to AREF, structure accessors and in this case slot accessors be inlined assuming that no error will take place. This is the interpretation I have used in various points in ECL. I believe it is sensible, but I am open to other arguments. This interpretation was activated by the point 2 above.</div>

<div class="gmail_extra"><br></div><div class="gmail_extra">Juanjo<br></div><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>