On Wed, Sep 19, 2012 at 7:24 PM, <sdiy...@sjtu.edu.cn> wrote: > main = do > let > f 0 acc = return acc > f n acc = do > v <- return 1 > f (n-1) (v+acc) > f 1000000 100 >>= print
Try this main = do let f :: Int -> Int -> IO Int f 0 !acc = return acc -- note strict accumulator f n acc = do v <- return 1 f (n-1) (v+acc) f 1000000 100 >>= print _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe