Pure memoization, and more
bearophile
bearophileHUGS at lycos.com
Thu May 3 08:50:35 PDT 2012
Threads like "Why D const is annoying" show that there is desire
for logical immutability, for pure memoization, etc. I'd like the
memoization of a pure function to be pure still.
This is a closely related group of problems (including "pointer
equality, external pointers, finalizers, and weak pointers")
surely present in functional languages too, so (with a bit of
help from a person of the "Lambda The Ultimate" blog) I have
found two papers that show some ideas and solutions.
"Stretching the storage manager: weak pointers and stable names
in Haskell" (1999), by Simon Peyton Jones, Simon Marlow, and
Conal Elliot:
http://community.haskell.org/~simonmar/papers/weak.pdf
http://research.microsoft.com/apps/pubs/default.aspx?id=67497
"Observable sharing for functional circuit description" (1999),
by Koen Claessen, David Sands (this looks less related, but the
authors face the same class of problems):
http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.31.4053
Probably there are other papers on this topic, with solutions
that don't require breaking purity or immutability in user code.
Bye,
bearophile
More information about the Digitalmars-d
mailing list