Files
slime/bin/tests/continuations.slime
T

37 lines
610 B
Plaintext

(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))