Re: Bug fix Matthias Radestock 12 Jun 2004 07:21 UTC
Andre van Tonder wrote: > Thank you to Alexandro and John for pointing out the bugs in the > implementation. I have fixed them and included the suggested extra > tests in the update below. > (define (force promise) > (let ((content (unbox (unbox promise)))) > (case (car content) > ((eager) (cdr content)) > ((lazy) (let* ((promise* ((cdr content))) > (content (unbox (unbox promise)))) Shouldn't that last line use promise*? If so, how come your tests pass? > (when (not (eqv? (car content) 'eager)) ; for > reentrancy test 3 > (set-box! (unbox promise) (unbox (unbox promise*))) > (set-box! promise* (unbox promise))) > (force promise)))))) Matthias.