Я пытаюсь понять концепцию продолжения, и я нашел несколько небольших обучающих примеров, подобных этому, из статьи Википедии :
(define the-continuation #f)
(define (test)
(let ((i 0))
; call/cc calls its first function argument, passing
; a continuation variable representing this point in
; the program as the argument to that function.
;
; In this case, the function argument assigns that
; continuation to the variable the-continuation.
;
(call/cc (lambda (k) (set! the-continuation k)))
;
; The next time the-continuation is called, we start here.
(set! i (+ i 1))
i))
Я понимаю, что делает эта маленькая функция, но я не вижу ее очевидного применения. Хотя я не собираюсь использовать продолжения во всем своем коде в ближайшее время, мне бы хотелось знать несколько случаев, когда они могут быть уместными.
Так что я ищу более подробные примеры кода, которые продолжения могут предложить мне как программисту.
Ура!