<div dir="ltr">Hi,<div class="gmail_extra"><br><div class="gmail_quote">On Sun, Apr 5, 2015 at 2:14 PM, Mark Evenson <span dir="ltr"><<a href="mailto:evenson@panix.com" target="_blank">evenson@panix.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><p dir="ltr">But the example shows SAMPLE2 being executed not =SAMPLE2.</p></blockquote><div><br></div><div>Ah. right. that's an error. I can see the error regarding dead code elimination in precompile.lisp:precompile-flet/labels. Working on a fix right now.</div><div><br></div><div><br></div><div>Regards,</div><div><br></div><div><br></div><div>Erik. </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<p dir="ltr">Tersely pecked on a Nexus 5<br>
</p><div class="HOEnZb"><div class="h5">
<div class="gmail_quote">On Apr 5, 2015 2:09 PM, Erik Huelsmann <<a href="mailto:ehuels@gmail.com" target="_blank">ehuels@gmail.com</a>> wrote:<br type="attribution"><blockquote style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Hi Mark,<div><br><div>On Sun, Apr 5, 2015 at 11:13 AM, Mark Evenson <span dir="ltr"><<a href="mailto:evenson@panix.com" target="_blank">evenson@panix.com</a>></span> wrote:<br><blockquote style="margin:0 0 0 0.8ex;border-left:1px #ccc solid;padding-left:1ex">On 4/4/15 18:28, Erik Huelsmann wrote:<br>
<br>
[…]<br>
<br>
The copy of the bug code you sent me got garbled as follows:<br>
<br>
(defun =sample2 (n)<br>
  (macrolet ((f (result x)<br>
                `(list 'more (lambda () (=f ,result ,x))))<br>
             (g (result x)<br>
                `(list 'more (lambda () (=g ,result ,x)))))<br>
    (labels ((=f (result x)<br>
               (if (zerop x)<br>
                 result<br>
                 (g (1+ result) (1- x))))<br>
             (=g (result x)<br>
               (f result x)))<br>
      (f 0 n))))<br>
<br>
<br>
I assume that one is supposed to remove all the #\= characters?<br>
<font color="#888888"><br></font></blockquote><div><br></div><div>It's exactly the code that was sent to me. I think the point is that the macrolet conceils the fact that the "=g" function is being called through the "g" macro and that ABCL incorrectly handles the situation as dead code.</div></div><br clear="all"><div><br></div><div>Regards,</div><div><br></div>-- <br><div><div dir="ltr">Bye,<div><br></div><div>Erik.</div><div><br></div><div><a href="http://efficito.com/" target="_blank">http://efficito.com</a> -- Hosted accounting and ERP.</div><div>Robust and Flexible. No vendor lock-in.</div></div></div>
</div></div>
</blockquote></div></div></div></blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature"><div dir="ltr">Bye,<div><br></div><div>Erik.</div><div><br></div><div><a href="http://efficito.com/" target="_blank">http://efficito.com</a> -- Hosted accounting and ERP.</div><div>Robust and Flexible. No vendor lock-in.</div></div></div>
</div></div>