Hello.

On 15.06.10 17:52, Denys Rtveliashvili wrote:
Please could you explain which Nums are not strict? The ones I am aware about are all strict.
Any value of any type is not strict in Haskell.
Also, why doesn't it require building the full thunk for non-strict Nums? Even if they are not strict, an addition requires both parts to be evaluated. This means the thunk will have to be pre-built, doesn't it?
Yes, 'print' and '+' force numbers to be evaluated, and numbers can be evaluated earlier. But GHC does not deduce this without "-O".

This question is more suited for the haskell-cafe mailing list. Unfortunately, I can not find an explanation in the wiki, though your example perhaps is the simplest one.
-- 
Best regards,
  Roman Beslik.