Ich versuche, das Konzept der Fortsetzungen zu begreifen, und habe mehrere kleine Lehrbeispiele wie dieses aus dem Wikipedia-Artikel :
(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))
Ich verstehe, was diese kleine Funktion bewirkt, aber ich kann keine offensichtliche Anwendung dafür erkennen. Ich erwarte zwar nicht, dass ich in nächster Zeit überall in meinem Code Fortsetzungen verwenden werde, aber ich wünschte, ich wüsste ein paar Fälle, in denen sie sinnvoll sein können.
Ich bin also auf der Suche nach explizit nützlichen Codebeispielen, die zeigen, was Fortsetzungen mir als Programmierer bieten können.
Zum Wohl!