title: Scheme: high order procedure and recursion
body: <p>I'm using scheme as part of a course I'm taking. I've been told to use high order functions in my homework. However this instruction seems somewhat unclear.</p>
  
  <p>I don't fully understand the idea of a high order procedure. I'm able to do all the questions using recursion but that it's the same thing. Can anyone explain it with an example of a recursive function vs one written with a high order procedure.</p>
  
  <p>As a second question:  </p>
  
  <p>Example: try to grab all the odd numbers</p>
  
  <p>I could use <code>(flatten (map odd ((1 4 5) (4 5 1 4 9))))</code>, but what if there were nested lists, can I use map on a nested lists like:</p>
  
  <p><code>(flatten (map odd ((1 3 (9 5 7))))</code> ; is there a function for this or a clean way to do it?</p>