title: My code signals the error "application: not a procedure" or "call to non procedure"
body: <p>During the execution of my code I get the following errors in the different Scheme implementations:</p>
  
  <p>Racket:</p>
  
  <pre><code>application: not a procedure;
   expected a procedure that can be applied to arguments
    given: '(1 2 3)
    arguments...:
  </code></pre>
  
  <p>Ikarus:</p>
  
  <pre><code>Unhandled exception
   Condition components:
     1. &amp;assertion
     2. &amp;who: apply
     3. &amp;message: "not a procedure"
     4. &amp;irritants: ((1 2 3))
  </code></pre>
  
  <p>Chicken:</p>
  
  <pre><code>Error: call of non-procedure: (1 2 3)
  </code></pre>
  
  <p>Gambit:</p>
  
  <pre><code>*** ERROR IN (console)@2.1 -- Operator is not a PROCEDURE
  ((1 2 3) 4)
  </code></pre>
  
  <p>MIT Scheme:</p>
  
  <pre><code>;The object (1 2 3) is not applicable.
  ;To continue, call RESTART with an option number:
  ; (RESTART 2) =&gt; Specify a procedure to use in its place.
  ; (RESTART 1) =&gt; Return to read-eval-print level 1.
  </code></pre>
  
  <p>Chez Scheme:</p>
  
  <pre><code>Exception: attempt to apply non-procedure (1 2 3)
  Type (debug) to enter the debugger.
  </code></pre>
  
  <p>Guile:</p>
  
  <pre><code>ERROR: In procedure (1 2 3):
  ERROR: Wrong type to apply: (1 2 3)
  </code></pre>
  
  <p>Chibi: </p>
  
  <pre><code>ERROR in final-resumer: non procedure application: (1 2 3)
  </code></pre>