(->* & forms)(->*-reader form)(cancel-remaining-steps procs)(done-step args [proc-name keyword idx])(label {:keys [:identifier :idx]} & body)(parse-process-names process-name->process process-with-steps)(register proc-name pipe)(run-processes! procs)Returns a map of procs with their returned values.
Returns a map of `procs` with their returned values.
(run-step proc-with-step)(run-step [{:keys [:proc-name]} step]
{:keys [:run-intermediate-steps?] :or {run-intermediate-steps? true}})(valid-interleavings & processes-with-steps)It returns all valid interleavings for processes with their steps.
For the example below, see that, for any interleaving, :step2 never comes
before of :step1 and :step3 never appears before :step2. The order
passed at input is respected at interleavings so you always have valid
steps (we trust you to pass it correctly).
Usage example: (valid-interleavings [[:t1 :step1] [:t1 :step2] [:t1 :step3]] [[:t2 :other-step-1] [:t2 :other-step-2]]) => [... ;; other interleavings [[:t1 :step1] [:t2 :other-step-1] [:t1 :step2] [:t1 :step3] [:t2 :other-step-2]] ...] ;; other interleavings
It returns all valid interleavings for processes with their steps.
For the example below, see that, for any interleaving, `:step2` never comes
before of `:step1` and `:step3` never appears before `:step2`. The order
passed at input is respected at interleavings so you always have valid
steps (we trust you to pass it correctly).
Usage example:
(valid-interleavings [[:t1 :step1]
[:t1 :step2]
[:t1 :step3]]
[[:t2 :other-step-1]
[:t2 :other-step-2]])
=>
[... ;; other interleavings
[[:t1 :step1]
[:t2 :other-step-1]
[:t1 :step2]
[:t1 :step3]
[:t2 :other-step-2]]
...] ;; other interleavings
(var->keyword v)(waiting-step [proc-name keyword idx])(waiting-step args [proc-name keyword idx])(with-bypass & body)(without-bypass & body)cljdoc builds & hosts documentation for Clojure/Script libraries
| Ctrl+k | Jump to recent docs |
| ← | Move to previous article |
| → | Move to next article |
| Ctrl+/ | Jump to the search field |