в настоящее время, когда я экспериментирую с продолжением на функциональных языках, я понимаю, что продолжение записывает текущий счетчик программ и регистровые файлы, и когда продолжение возвращается, тогда ПК и зарегистрированные файлы будут восстановлены до значений, которые он записал .
Итак, в следующем глупом примере из сообщение в блоге Майта,
; right-now : -> moment
(define (right-now)
(call-with-current-continuation
(lambda (cc)
(cc cc))))
; go-when : moment -> ...
(define (go-when then)
(then then))
; An infinite loop:
(let ((the-beginning (right-now)))
(display "Hello, world!")
(newline)
(go-when the-beginning)) ; here the-beginning continuation passed to go-when, which ultimately will have an continuation applied to an continuation, that returns a continuation, which will cause the the program point resumed to the PC and registers states recorded in it.
Я не уверен, что правильно понял.. Пожалуйста, поправьте меня, если вы думаете, что это не так.....