title: Scheme Infix to Postfix
body: <p>Let me establish that this is part of a class assignment, so I'm definitely not looking for a complete code answer. Essentially we need to write a converter in Scheme that takes a list representing a mathematical equation in infix format and then output a list with the equation in postfix format.</p>
  
  <p>We've been provided with the algorithm to do so, simple enough. The issue is that there is a restriction against using any of the available imperative language features. I can't figure out how to do this in a purely functional manner. This is our fist introduction to functional programming in my program.</p>
  
  <p>I know I'm going to be using recursion to iterate over the list of items in the infix expression like such.</p>
  
  <pre><code>(define (itp ifExpr)
    (
      ; do some processing using cond statement
      (itp (cdr ifExpr))
    ))
  </code></pre>
  
  <p>I have all of the processing implemented (at least as best I can without knowing how to do the rest) but the algorithm I'm using to implement this requires that operators be pushed onto a stack and used later. My question is how do I implement a stack in this function that is available to all of the recursive calls as well?</p>