title: Understanding Haskell's fibonacci
body: <pre><code>fibs :: [Int]
  fibs = 0 : 1 : [ a + b | (a, b) &lt;- zip fibs (tail fibs)]
  </code></pre>
  
  <p>This generates the Fibonacci sequence. </p>
  
  <p>I understand the behaviour of the guards, of <code>:</code>, <code>zip</code> and <code>tail</code>, but I don't understand <code>&lt;-</code>. What is it doing here? </p>