<div dir="ltr">I'm in a grumpy mood today, so I decided to take out my frustrations on the ANS for CL, or implementations thereof.  Consider carefully what the following form should return:<br><br>(let ((v (make-array 10<br>
    :initial-contents '(0 1 2 3 4 5 6 7 8 9)<br>    :fill-pointer 5)))<br>  (loop for x across v<br>      when (eql x 2) do (incf (fill-pointer v))<br>      collect x))<br><br>ACL and SBCL both return (0 1 2 3 4).  Probably every other implementation does too.  I believe the ANS requires the return to be (0 1 2 3 4 5), although the definition in <u>6.1.2.1.5 The for-as-across subclause</u> uses various undefined terminology.  (We of X3J13 understood that the loop specification was not our best work.)<div>
<br></div></div>