(define add-5 '()) (define res 1) (mutate! res (+ 2 (call/cc (lambda (cont) (set! add-5 cont) 1)) 3)) (assert (= res 6)) (add-5 100) (assert (= res 105)) (add-5 10) (assert (= res 15)) ;; ----------- works until here --------------- (set! res (+ 2 (call/cc (lambda (cont) (set! add-5 cont) 1)) 3)) ;; (print) ;; (print res 6) (assert (= res 6)) (add-5 100) ;; (print res 105) (assert (= res 105)) (add-5 10) (assert (= res 15)) ;; (print res 15) ;; (define fun '()) ;; (mutate! res (apply (call/cc (lambda (k) (set! fun k) +)) (list 1 2 3))) ;; (assert (= res 6)) ;; (fun -) ;; (assert (= res -1))