promise is evaluated twice

Issue #123 resolved
Takashi Kato repo owner created an issue

This should return (1 1 101) but (1 1 102)

(let ((n 100))
  (define r (delay (begin (set! n (+ n 1)) 1)))
  (define s (delay-force r))
  (define t (delay-force s))

  (let ((result1 (force t))
    (result2 (force r)))
    (list result1 result2 n)))

Comments (3)

  1. Log in to comment