Hi Alex, In Haskell, data structures cache, while functions do not. "Memoization" is conversion of functions into data structures (and then trivially re-wrapping as functions) so as to exploit the caching property of data structures to get caching functions. - Conal On Wed, Sep 15, 2010 at 11:03 AM, Alex Rozenshteyn <rpglover64@gmail.com>wrote:
I feel that there is something that I don't understand completely: I have been told that Haskell does not memoize function call, e.g.
slowFib 50 will run just as slowly each time it is called. However, I have read that Haskell has call-by-need semantics, which were described as "lazy evaluation with memoization"
I understand that
fib50 = slowFib 50 will take a while to run the first time but be instant each subsequent call; does this count as memoization?
(I'm trying to understand "Purely Functional Data Structures", hence this question)
-- Alex R
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe