[Haskell-cafe] Lazy problem ?
Bulat Ziganshin
bulat.ziganshin at gmail.com
Fri Oct 23 04:09:22 EDT 2009
Hello zaxis,
Friday, October 23, 2009, 12:02:57 PM, you wrote:
btw,
good_ssq_red = fmap (statis.str2Ints) $ readFile "ssqHitNum.txt"
or
good_ssq_red = (statis.str2Ints) `fmap` readFile "ssqHitNum.txt"
> 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
>>
>>
--
Best regards,
Bulat mailto:Bulat.Ziganshin at gmail.com
More information about the Haskell-Cafe
mailing list