> Is there any references to memoization techniques? I could not find
> any reference to memoization facilities in the Haskell report and
> library report. Neither in the Clean report. After looking at GHC,
> Hugs98 and nhc98, I have found that GCH provides the memo function
> used in the example. Looking at it, it does not look easily portable.

GHC's Memo library is described in the User's Guide:

 
http://www.haskell.org/ghc/docs/latest/users_guide/users_guide-6.html#ss6.6

This memo table implementation is primarily for applications with large (or
even infinite) keys, where determining equality is not cheap or desirable.
The memo table uses stable names, a kind of identity mechanism for objects
which provides a pointer-equality like comparision mechanism.  The library
also uses weak pointers and finalization to avoid keeping stale results in
the memo table.  The techniques are described in the following paper:

    http://www.research.microsoft.com/~simonpj/papers/weak.ps.gz

Cheers, 
        Simon

Reply via email to