Liking cljdoc? Tell your friends :D
Clojure only.

baby-sepl.core


baby-seplclj

(baby-sepl flows state steps)

Baby-SEPL takes:

  • Algorithm declaration, in terms of 'flows', each having a side-effect-action and a pure-action; Each 'flow' is a map having a side-effect-action entry, and a pure-action entry; The side-effect-action logic takes a state and args, to produce an outcome for the pure-action; The pure-action logic takes the args and outcome, and produces further steps to be executed.
  • Initial state, which can literally be anything.
  • Initial step(s), to trigger the algorithm execution, having a flow id and any args relevant to that flow.

Baby-SEPL steps through the algorithm flows. The final state is returned when there are no further steps to execute.

  • State mutations are handled via 'flows' having no pure-action. ** Steps are executed iteratively, DFS style.
Baby-SEPL takes:
- Algorithm declaration, in terms of 'flows', each having a side-effect-action and a pure-action;
  Each 'flow' is a map having a side-effect-action entry, and a pure-action entry;
  The side-effect-action logic takes a state and args, to produce an outcome for the pure-action;
  The pure-action logic takes the args and outcome, and produces further steps to be executed.
- Initial state, which can literally be anything.
- Initial step(s), to trigger the algorithm execution, having a flow id and any args relevant to that flow.

Baby-SEPL steps through the algorithm flows.
The final state is returned when there are no further steps to execute.

* State mutations are handled via 'flows' having no pure-action.
** Steps are executed iteratively, DFS style.
sourceraw docstring

baby-stepclj

(baby-step flow-id args)
source

cljdoc is a website building & hosting documentation for Clojure/Script libraries

× close