title: Using "do" in Scheme
body: <p>What is the difference between CODE SNIPPET 1 and CODE SNIPPET 2? </p>
  
  <pre><code>;CODE SNIPPET 1
  (define i 0)                      
  (do ()                             
    ((= i 5))                       ; Two sets of parentheses
    (display i)                     
    (set! i (+ i 1))) 
  
  
  ;CODE SNIPPET 2
  (define i 0)                      
  (do ()                             
    (= i 5)                         ; One set of parentheses
    (display i)                     
    (set! i (+ i 1))) 
  </code></pre>
  
  <p>The first code snippet produces 01234 and the second produces 5. What is going on? What does the extra set of parentheses do? Also, I have seen <code>[(= i 50)]</code> used instead of <code>((= i 5))</code>. Is there a distinction? Thanks!</p>