r5rs-letrecThe interaction of letrec with reentrant continuations is
rather nontrivial. Gurus who know more than I assert that R5RS requires
this form to return 0, but not all Schemes follow that
recommendation.
This choice is tested for by running
(let ((cont #f))
(letrec ((x (call-with-current-continuation (lambda (c) (set! cont c) 0)))
(y (call-with-current-continuation (lambda (c) (set! cont c) 0))))
(if cont
(let ((c cont))
(set! cont #f)
(set! x 1)
(set! y 1)
(c 0))
(+ x y))))
in each Scheme.