A delimited continuations library for Clojure 1.3.0. Portions based on cl-cont by Slava Akhmechet (http://defmacro.org).
(def cont1 (atom nil)) (def cont2 (atom nil)) (def cont3 (atom nil)) (reset (+ 1 (apply (fn [a b c] (+ (shift k (reset! cont1 k) (k 1)) a b c)) 3 4 (list 5)))) ;; 14 (@cont 2) ;; 15 (reset (+ 1 (reset (shift k (reset! cont2 k) (k 2))) (reset (shift k (reset! cont3 k) (k 3))))) ;; 6 (@cont2 4) ;; 8 (@cont3 10) ;; 15