<div dir="ltr"><div class="gmail_extra"><br><div class="gmail_quote">On Wed, May 21, 2014 at 3:45 AM,  <span dir="ltr"><<a href="mailto:Joerg-Cyril.Hoehle@t-systems.com" target="_blank">Joerg-Cyril.Hoehle@t-systems.com</a>></span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div class="">Gábor Balázs wrote:<br>
<br>
>The bold lines should appear in reverse order, I think.<br>
</div><div class="">>       (IF (ATOM #:LIST214)<br>
>           (GO LOOP-END-NIL))<br>
>       (SETQ VAR #:LIST214)<br>
</div>You can't invert the order, because that would be a type violation.<br>
Iterate may make use of types, see *declare-variables*.<br>
<br>
Furthermore, the spec does not guarantee that value after the end of the iteration.<br>
Quite to the contrary, it's explicitly disallowed. Quote:<br>
<br>
"In all cases, the value of the driver variable on exit from the loop,<br>
including within the epilogue code (see the finally clause), is<br>
undefined."<br></blockquote><div><br></div><div>This is indeed a surprise for me.<br>Definitely should be on the "Differences between LOOP and iterate" page.<br><br></div><div>But I think iterate should make the drivers accessible in the epilogue.<br>

</div><div>This code is not that nice and confusing.<br><br><div style="margin-left:40px"><span style="font-family:courier new,monospace">(iter (for var on mylist)<br>      (for var2 = (rest var))<br>      (collect (car var) into result)<br>

      (finally (return (values result var2))))<br>(:ONE :TWO :THREE)<br>NIL<br></span></div></div><div> <br></div>So is there some design reason against making the drivers accessible in the finally clause?<br><div>Maybe, could just iterate parse the finally clause and make the proper adjustments if necessary?<br>

</div><div><br></div><div>`bg`<br></div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<br>
Regards,<br>
        Jörg Höhle<br>
</blockquote></div><br></div></div>