Dear all, I am learning call/cc in racket, so I wrote some experiment code:
#lang racket (begin (define saved-k #f) (+ 1 (call/cc (lambda (k) ; k is the captured continuation (set! saved-k k) 0))) (println 'hello) (saved-k 100) ;; why 'hello not print more than once?? ) The execution result of this codeis: 1 hello 101 It does not meet my expectation, my expectation is : 1 hello 101 hello 101 ....loop About continuation, for example: assume exp1 is: (+ 1 (call/cc (lambda (k) ; k is the captured continuation (set! saved-k k) 0))) exp2 is: (println 'hello) Whether exp2 is the continuation of exp1 Are these two expressions equivalent? (begin (exp1) (exp2)) (exp1 (lambda (v) (exp2 continuation-of-exp2))) So exp2 is exp1's continuation? It makes me confused. Excuse me, this question may be stupid, forgive my ignorance... Thanks. Br, serioadamo97 -- You received this message because you are subscribed to the Google Groups "Racket Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to racket-users+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.