Re: [Haskell-cafe] Do I have this right? "Remembering" Memoization!

2009-09-15 Thread Derek Elkins
> But pedantically even the function: > >> quux :: Int -> Int >> quux x = trace "Quux" (bar 12) > >> optmain :: IO () >> optmain = quux 10 `seq` quux 11 `seq` return () > > might print only once if GHC at the optimization level selected recognizes > that quux doesn't depend on its argument and rewr

Re: [Haskell-cafe] Do I have this right? "Remembering" Memoization!

2009-09-15 Thread Edward Kmett
I agree with what you meant, but not quite with what you said. To be pedantic: > import Debug.Trace > foo :: Int > foo = trace "Foo" (bar 12) > bar :: Int -> Int > bar x = trace "Bar" x > main :: IO () > main = foo `seq` foo `seq` return () main prints "Foo\nBar\n" showing that the bar is only

Re: [Haskell-cafe] Do I have this right? "Remembering" Memoization!

2009-09-13 Thread Mark Wotton
On 14/09/2009, at 9:28 AM, Casey Hawthorne wrote: Do I have this right? "Remembering" Memoization! For some applications, a lot of state does not to be saved, since "initialization" functions can be called early, and these functions will "remember" - (memoize) their results when called again

[Haskell-cafe] Do I have this right? "Remembering" Memoization!

2009-09-13 Thread Casey Hawthorne
Do I have this right? "Remembering" Memoization! For some applications, a lot of state does not to be saved, since "initialization" functions can be called early, and these functions will "remember" - (memoize) their results when called again, because of lazy evaluation? -- Regards, Casey __