(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

Reply via email to