title: Using the range operator on lists leads to infinite expansion
body: <p>I'm learning Haskell at the moment from "Learn You a Haskell".</p>
  
  <p>I am looking at lists and building them using ranges.</p>
  
  <p>Would I be right in thinking that if I have a list like</p>
  
  <pre><code>[2,4..20]
  </code></pre>
  
  <p>what haskell does is to get the difference between the first two elements and then add that to 4 to get the subsequent value?</p>
  
  <p>which brings me to my next point. I tried [1,1..20] and it resulted in a never ending list expansion because 1-1 = 0 and so there is no arithmetic progression.</p>
  
  <p>Is my thinking correct?</p>