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.