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 racket-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to