[Haskell-cafe] Global memoization in Haskell

Albert Zeyer albzey at googlemail.com
Fri Apr 22 14:20:04 CEST 2011


Hi,

I was mostly thinking about automatic memoization, i.e. not explicit
memoization.

Also, it should only add some small constant overhead for each
function and maybe leads to huge improvements after all. But maybe I'm
also wrong and for an "average" function it doesn't lead to
improvements.

But the only real way to know that is to try it out.

I don't really understand why it would be such a huge substantial
undertaking. I would store the memo-ed values just in some hidden
global variable and proxy every function through some simple
memoizing-handler. Or is that complicated to add as an option to GHC?

Regards,
Albert


On Fri, Apr 22, 2011 at 2:08 PM, Stephen Tetley
<stephen.tetley at gmail.com> wrote:
> Hi Albert
>
> My contention is that there are specific programs (or specific
> functions within them) that memoization improves - hence adding
> memoization to those programs rather than the compiler is the way to
> go.
>
> Not that I've looked deeply, but I think adding memoization to GHC
> would be a pretty substantial undertaking. In the first instance where
> do you put the memo-ed values? - if you're doing it for all functions
> you might have to change the RTS as well as the compiler.
>
> Best wishes
>
> Stephen
>
> _______________________________________________
> Haskell-Cafe mailing list
> Haskell-Cafe at haskell.org
> http://www.haskell.org/mailman/listinfo/haskell-cafe
>



More information about the Haskell-Cafe mailing list