stepper

functionremoved v1.9.562added v0.0-2301Edit
(stepper xform iter)

Source code @ clojurescript:src/main/cljs/cljs/core.cljs
(defn stepper [xform iter]
  (letfn [(stepfn
            ([result]
               (let [lt (if (reduced? result)
                          @result
                          result)]
                 (set! (.-stepper lt) nil)
                 result))
            ([result input]
               (let [lt result]
                 (set! (.-first lt) input)
                 (set! (.-rest lt) (lazy-transformer (.-stepper lt)))
                 (set! (.-stepper lt) nil)
                 (.-rest lt))))]
   (Stepper. (xform stepfn) iter)))