title: Explanation of parameter value
body: <p>This question is directly related to <a href="https://stackoverflow.com/questions/2111891/stackoverflow-while-counting-digits">StackOverFlow while counting digits</a> . I have lifted a solution from that question, and have a two questions:</p>
  <p>First here is the solution:</p>
  <pre><code>(defn num-digits-tail-recursion 
          ([n count]
             (if (= 0 n)
               count
               (recur (quot n 10) (inc count))))
          ([n] (num-digits-tail-recursion n 0)))
  </code></pre>
  <ol>
  <li><p>count is a function in its own right for counting the number of characters in a string. Am I correct in assuming count is allowed as a var, because it's not in the first position of a list?</p>
  </li>
  <li><p>count is the second parameter, but I only am passing one parameter -- the number.
  What is special about the function syntax that starts with a list, rather than
  the typical parameter vector <code>(defn test_fn [x y] (println x))</code> ?</p>
  </li>
  </ol>
  <h3>Edit:</h3>
  <p>I apologize for lack of clarity in the original question. Why does supplying a function name -- count -- not cause num-digits-tail-recursion to expect a second parameter? If I supply <code>([n x]...</code> instead of <code>(n count]...</code> and call the function with one argument, I get an insuf arguments error.</p>