
Johan Tibell wrote:
It would be great if someone could exemplify these "rules of thumb", e.g. "Primitive types such as Int should be strict unless in the three canonical examples X, Y and Z." My strictness radar is still quite poor and I feel I can't make informed decisions on when I need to make something more strict or lazy.
+1 When I first learned Haskell, lazyness sounded like a great idea, and I was somewhat puzzled as to why you would ever want to turn such a thing off. Fortunately (?!) after lots of experiments with the lambda calculus and other such things, I quickly realised that reducing large subexpression can sometimes be a big win. But I couldn't find much on the Wiki that explains all this stuff, and it would probably be quite useful to have! Of course, now we need somebody to *write* the thing...