El 5 de mayo de 2010 15:21, Christian Jaeger <span dir="ltr"><<a href="mailto:chrjae@gmail.com">chrjae@gmail.com</a>></span> escribió:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">

In addition to the things mentioned in R5RS that may be implemented<br>
differentely between implementations, you also find this:<br>
<br>
- whether calling force on a nested promise evaluates only one level<br>
or all levels<br>
<br>
Also note that the example implementation given in R5RS is not safe<br>
for space in the sense that it doesn't release the thunk of the<br>
promise before finishing its evaluation, which leads to similar<br>
problems as missing tail-call optimization. I don't know whether any<br>
Scheme implementation *is* safe for space in this regard. So the<br>
recommendation I gave before is the generally given recommendation,<br>
not my personal--I personally generally use my own implementation of<br>
delay and force.<br>
<br>
Ch.<br>
</blockquote><div><br></div><div><br></div><div>Hi Christian,</div><div><br></div><div>Thanks again for the explanation. Is your implementation sharable or maybe you could give me some pointers?</div><div><br></div><div>

I'm currently trying out with this other approach (the hashtable), different from force/delay.</div><div><br></div><div><a href="http://community.schemewiki.org/?memoization">http://community.schemewiki.org/?memoization</a></div>

<div><br></div><div><br></div><div>Bests,<br></div><div><br></div><div><br></div><div>Álvaro</div>