title: Nested Loops Using Loop Macro in Common Lisp
body: <p>I am trying to implement a basic nested loop in CL, but the Loop macro is resisting this. Basically, I would like to find all possible products of 3-digit numbers and accumulate them into a list.</p>
  
  <p>Here is my attempt:</p>
  
  <pre><code> (loop for x downfrom 999 to 998 do (loop for y downfrom 999 to 998 collect (* x y)))
  </code></pre>
  
  <p>The code above returns <code>NIL</code> for some reason. By the way, I realize that I only run down to 998, but this is done for testing purposes.</p>
  
  <p>What could I do to obtain a list like this:</p>
  
  <blockquote>
    <p>(999*999 999*998 ... 998*998 998*997 ... 997*997 997*996 ... 100*100)</p>
  </blockquote>