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.

