Я изучаю продолжения, но не могу обернуть голову вокруг этого кода. Почему это входит в бесконечный цикл?
(let ((cont #f)) (call/cc (lambda (k) (set! cont k))) (cont #f))
Строка за строкой:
cont
call/cc
k
(lambda (call/cc-retval) (let () call/cc-retval (cont #f)))
(cont #f)
Таким образом, в итоге мы получаем бесконечный цикл.