title: `xrange(2**100)` -> OverflowError: long int too large to convert to int
body: <p><code>xrange</code> function doesn't work for large integers:</p>
  
  <pre><code>&gt;&gt;&gt; N = 10**100
  &gt;&gt;&gt; xrange(N)
  Traceback (most recent call last):
  ...
  OverflowError: long int too large to convert to int
  &gt;&gt;&gt; xrange(N, N+10)
  Traceback (most recent call last):
  ...
  OverflowError: long int too large to convert to int
  </code></pre>
  
  <p>Python 3.x:</p>
  
  <pre><code>&gt;&gt;&gt; N = 10**100
  &gt;&gt;&gt; r = range(N)
  &gt;&gt;&gt; r = range(N, N+10)
  &gt;&gt;&gt; len(r)
  10
  </code></pre>
  
  <p>Is there a backport of py3k builtin <code>range()</code> function for Python 2.x?</p>
  
  <h3>Edit</h3>
  
  <p>I'm looking for a complete implementation of "lazy" <code>range()</code>, not just a partial implementation of some of its functionality. </p>