title: why is the map function inherently parallel?
body: <p>I was reading the following presentation: </p>
  
  <p><a href="http://www.idt.mdh.se/kurser/DVA201/slides/parallel-4up.pdf" rel="nofollow noreferrer">http://www.idt.mdh.se/kurser/DVA201/slides/parallel-4up.pdf</a></p>
  
  <p>and the author claims that the map function is built very well for parallelism (specifically he supports his claim on page 3 or slides 9 and 10). </p>
  
  <p>If one were given the problem of increasing each value of a list by +1, I can see how looping through the list imperatively would require a index value to change and hence cause potential race condition problems. But I'm curious how the map function better allows a programmer to successfully code in parallel. </p>
  
  <p>Is it due to the way map is recursively defined? So each function call can be thrown to a different thread? </p>
  
  <p>I hoping someone can provide some specifics, thanks! </p>