(moved to haskell-caf�) I ran Hal's code on my computer, and with test2 I get a stack overflow (so I had to use +RTS option for it to finish). test1 does not overflow stack (of standard size, I mean without +RTS). Which implies that test2 uses more stack space than test1. why would it use more stack if not because of laziness?
konst > -----Original Message----- > From: Hal Daume III [mailto:[EMAIL PROTECTED]] > Sent: Friday, February 08, 2002 4:35 PM > To: Jorge Adriano > Cc: Konst Sushenko; [EMAIL PROTECTED] > Subject: Re: efficiency question > > > I agree that it's the overhead of (,), but I don't see why > there would be > any overhead for doing this. > > -- > Hal Daume III > > "Computer science is no more about computers | [EMAIL PROTECTED] > than astronomy is about telescopes." -Dijkstra | www.isi.edu/~hdaume > > On Sat, 9 Feb 2002, Jorge Adriano wrote: > > > On Friday 08 February 2002 23:52, Hal Daume III wrote: > > > I've tried using a strict fold: > > > > > > foldl' f a [] = a > > > foldl' f a (x:xs) = (foldl' f $! f a x) xs > > > > > > but that has no effect (or minimal effect). > > > > That wouldn't work even if if laziness is the problem > because that would only > > cause the elements of the list to be evaluated to head > normal form, the > > elements of the pair would not be evaluated so you'd have a > 'suspension of > > (minus and plus) operations'. > > > > instead of > > > (\x (a,b) -> (x+a,x-b)) > > try > > > (\x (a,b) -> (((,) $! x-a)$! x-b) ) > > > > I just noticed that you were the one who sent me the DeepSeq module. > > This is the kind of place where I want to use it. > > Instead of $!, try $!!. > > > > > > And Konst Sushenko wrote: > > >>My guess is that it is due to the laziness of the > addition/subtraction > > >>in (,) > > > > Seems to me like lazyness is not the right guess because > both functions Hall > > first posted were lazy. So I think it's just the overhead > of applying (,) > > besides (+) and (-) in each step. Do I make sense or am I > missing something? > > > > J.A. > > > > _______________________________________________ Haskell-Cafe mailing list [EMAIL PROTECTED] http://www.haskell.org/mailman/listinfo/haskell-cafe
