laziness in `length'

Roman Beslik beroal at ukr.net
Tue Jun 15 17:33:22 EDT 2010


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.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.haskell.org/pipermail/glasgow-haskell-users/attachments/20100615/89517792/attachment.html


More information about the Glasgow-haskell-users mailing list