title: DrRacket Combining Lists
body: <p>I was hoping someone could guide me in the right direction:
  I am looking two produce all possible combinations of items in two lists:<br>
  Example:<br>
  Given the lists '(symbol1 symbol2) and '(1 2), I am looking to produce:<br>
  (list (list 'symbol1 1) (list 'symbol1 2) (list 'symbol2 1)(list symbol2 2))</p>
  
  <p>My code thus far is:</p>
  
  <pre><code>    (define (combiner list1 list2)
      (list
        (foldr (lambda (a b) (foldr (lambda (c d) (list a c)) empty list1)) empty list2)
        (foldr (lambda (a b) (foldr (lambda (c d) (list b d)) empty list1)) empty list2)))
  </code></pre>
  
  <p>This clearly isn't working, and neither are a few other methods I've tried. I am having trouble working with the implicit recursion on two lists - any ideas?</p>