El 5 de mayo de 2010 17:21, Christian Jaeger chrjae@gmail.com escribió:
Thanks again for the explanation. Is your implementation sharable or
maybe
you could give me some pointers?
https://mercure.iro.umontreal.ca/pipermail/gambit-list/2007-May/001435.html
I'm currently trying out with this other approach (the hashtable),
different
from force/delay. http://community.schemewiki.org/?memoization
The text on this page is not very bright, in fact it seems to be confusing you. If you need to map a set of values to a computation, then promises don't help you, exactly because they don't provide for any mapping. As I said, Scheme implementations are not required to, and usually do not, detect when a computation (even if wrapped in a delay) has been done previously with the same context values. A new promise is created every time.
Ch.
Yes, what I understood (wrongly, apparently) from the text is that force/delay idioms can be used to memoize the value of a function output given some arguments. If a new promise is created every time it cannot be used directly as a way to put the work of memoization on the compiler (which is what I wanted). I don't look for a call-by-need mechanism, but something to avoid recalculating a procedure every time I pass the same arguments. Anyway I think I have a better picture now.
Best regards,
Álvaro