title: Haskell: List Comprehensions and higher-order functions
body: <p>I've tried to transform the following list comprehension:</p>
  
  <pre><code>f xs = [ x+8 | (x,_) &lt;- xs ]
  </code></pre>
  
  <p>using higher-order functions.</p>
  
  <p>My first solution was:</p>
  
  <pre><code>f' xs = map (\(x,_) -&gt; x+8) xs
  </code></pre>
  
  <p>After I tried various other approaches, I found out that the following also works:</p>
  
  <pre><code>f' xs = map((+8).fst) xs
  </code></pre>
  
  <p>Both versions of <code>f'</code> give the same (correct) output, but I don't understand why <code>(+8).fst</code> is equal to <code>\(x,_) -&gt; x+8</code> when using <code>map</code> on a list of tuples.</p>