multi-stepper
function | removed v1.9.562 | added v0.0-2301 | Edit |
(multi-stepper xform iters)
(multi-stepper xform iters nexts)
(defn multi-stepper
([xform iters]
(multi-stepper xform iters
(make-array (alength iters))))
([xform iters nexts]
(letfn [(stepfn
([result]
(let [lt (if (reduced? result)
@result
result)]
(set! (.-stepper lt) nil)
lt))
([result input]
(let [lt result]
(set! (.-first lt) input)
(set! (.-rest lt) (lazy-transformer (.-stepper lt)))
(set! (.-stepper lt) nil)
(.-rest lt))))]
(MultiStepper. (xform stepfn) iters nexts))))