<br><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Haskell&#39;s laziness is tricky to understand coming from imperative 
languages, but once you figure out its evaluation rules, you&#39;ll begin to
 see the elegance.</blockquote></div><br>Is there a paper or other single resource that will help me thoroughly understand non-strictness in Haskell? Once my programs hit a certain level of complexity, their behaviour becomes much harder for me to predict. I&#39;ve been using the wiki pages up to this point, but apparently they haven&#39;t pushed my understanding of laziness nearly far enough.<br>