title: Difference between reduce and foldLeft/fold in functional programming (particularly Scala and Scala APIs)?
body: <p>Why do Scala and frameworks like Spark and Scalding have both <code>reduce</code> and <code>foldLeft</code>? So then what's the difference between <code>reduce</code> and <code>fold</code>?</p>