Dear Racket users,

 Within the documentation or elsewhere on Internet, is there a survey about the 
different ways of implementing promises in Racket and its dialects. I know that 
there are several ways, especially about recursive promises, but I am puzzled. 
For example:

(define x 0)

(define p
 (delay (if (= x 5)
 x
 (begin
 (set! x (+ x 1)) (force p) (set! x (+ x 1)) x))))

If I understood, Racket does not allow such recursive promise.

In #!r5rs (force p) => 5

In #!r7rs (force p) => 10 and then (force p) => 5, what is surprising because 
"force" is supposed to yield the same result for the same promise.

 Please is there a place where these differences are discussed? Many thanks in 
advance,

J.-M. Hufflen

-- 
You received this message because you are subscribed to the Google Groups 
"Racket Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to