[Haskell-cafe] Lazy problem ?

zaxis z_axis at 163.com
Fri Oct 23 04:02:57 EDT 2009


good_ssq_red:: IO [Int]
good_ssq_red =do { 
    samp <- fmap str2Ints $ readFile "ssqHitNum.txt";
    return $ statis samp;
} 
It works now !  thank you


Bulat Ziganshin-2 wrote:
> 
> Hello zaxis,
> 
> Friday, October 23, 2009, 11:15:01 AM, you wrote:
> 
>> good_ssq_red = withFile "ssqHitNum.txt" ReadMode (\h -> do {
>>         samp <- fmap str2Ints $ hGetContents h;
>>         print samp;    --without this line, the result will always
>> [1..16]
>>         return $ statis samp;
>>     })
> 
> withFile and hGetContents shouldn't be used together. both closes file
> handle and, here, withFile closes it before hGetContents lazily reads
> data. it's why you need to force reading with print
> 
> use readFile instead
> 
> 
> 
> -- 
> Best regards,
>  Bulat                            mailto:Bulat.Ziganshin at gmail.com
> 
> _______________________________________________
> Haskell-Cafe mailing list
> Haskell-Cafe at haskell.org
> http://www.haskell.org/mailman/listinfo/haskell-cafe
> 
> 

-- 
View this message in context: http://www.nabble.com/Lazy-problem---tp26021845p26022301.html
Sent from the Haskell - Haskell-Cafe mailing list archive at Nabble.com.



More information about the Haskell-Cafe mailing list