title: Scheme's Application-procedure error in function-call
body: <p>I'm new to Scheme, and have to program the well-known 'merge-function' of two lists. While I understand the algorithm, I have been getting this error over and over again:</p>
  
  <pre><code>**merge((list 1 2 3) (list 4 5 6))**
  &lt;procedure:merge&gt;
  . . application: not a procedure;
  expected a procedure that can be applied to arguments
  given: (1 2 3)  arguments...:(4 5 6)
  </code></pre>
  
  <p>I thought my code was wrong, so I kept debugging it..changing into a dummy function to see if it still would react the same. It did.</p>
  
  <pre><code>#lang scheme
  
  (define (merge list1 list2)
  
    (cond ((null? list1)list2)
  
      ((null? list2)list1)
  
      (else
  
      "Nothing more to do!"
  
      )
     )
  )
  </code></pre>
  
  <p>The syntax check turned out nothing "wrong". I also read the answers to similar problems, but I can't just figure it out. The only option left, is that I'm making a wrong function call whilst not understanding why. </p>
  
  <p>Looking forward to your feedback..</p>