diff options
author | Arun Isaac | 2024-09-30 02:54:41 +0100 |
---|---|---|
committer | Arun Isaac | 2024-10-02 00:53:22 +0100 |
commit | f331839f339c4366695c43f8def047e223099e7d (patch) | |
tree | 0049b20b2744f0b4de5a3124593a7fb3766e3f6e /COPYING | |
parent | 2d856080a2bca9f33fa0d9e8fd3413341b8f0fe7 (diff) | |
download | ravanan-f331839f339c4366695c43f8def047e223099e7d.tar.gz ravanan-f331839f339c4366695c43f8def047e223099e7d.tar.lz ravanan-f331839f339c4366695c43f8def047e223099e7d.zip |
workflow: Support subworkflows recursively.
Implementing subworkflows recursively as sub-propnets is the correct
and elegant ouroboros way. Earlier, we were flattening workflows into
their constituent CommandLineTools steps. Among many other issues,
this approach ran into problems when scattering over subworkflows.
* ravanan/workflow.scm: Import assertion-violation from (rnrs base).
(<command-line-tool-state>, <workflow-state>): New record types.
(workflow-class->propnet): New function.
(workflow-class->propagators, workflow->command-line-tool-steps):
Delete functions.
(workflow-scheduler): Represent state using <command-line-tool-state>
and <workflow-state>. Recursively evaluate compound propagators as
propnets.
(run-workflow): Use capture-output and poll from scheduler.
Diffstat (limited to 'COPYING')
0 files changed, 0 insertions, 0 deletions