title: Difference between fold and reduce?
body: <p>Trying to learn F# but got confused when trying to distinguish between <a href="http://msdn.microsoft.com/en-us/library/ee353894.aspx" rel="noreferrer">fold</a> and <a href="http://msdn.microsoft.com/en-us/library/ee370239.aspx" rel="noreferrer">reduce</a>. Fold seems to do the <a href="https://stackoverflow.com/questions/3682371/accumulate-vs-fold-vs-reduce-vs-compress">same thing</a> but takes an extra parameter. Is there a legitimate reason for these two functions to exist or they are there to accommodate people with different backgrounds? (E.g.: String and string in C#)</p>
  
  <p>Here is code snippet copied from sample:</p>
  
  <pre><code>let sumAList list =
      List.reduce (fun acc elem -&gt; acc + elem) list
  
  let sumAFoldingList list =
      List.fold (fun acc elem -&gt; acc + elem) 0 list
  
  printfn "Are these two the same? %A " 
               (sumAList [2; 4; 10] = sumAFoldingList [2; 4; 10])
  </code></pre>