title: Implement zip using foldr
body: <p>I'm currently on chapter 4 of Real World Haskell, and I'm trying to wrap my head around <a href="http://book.realworldhaskell.org/read/functional-programming.html#x_E9" rel="noreferrer">implementing foldl in terms of foldr</a>.</p>
  
  <p>(Here's their code:)</p>
  
  <pre><code>myFoldl :: (a -&gt; b -&gt; a) -&gt; a -&gt; [b] -&gt; a
  
  myFoldl f z xs = foldr step id xs z
      where step x g a = g (f a x)
  </code></pre>
  
  <p>I thought I'd try to implement <code>zip</code> using the same technique, but I don't seem to be making any progress. Is it even possible?</p>