diff options
author | Arun Isaac | 2023-12-01 22:34:03 +0000 |
---|---|---|
committer | Arun Isaac | 2023-12-01 22:35:23 +0000 |
commit | 770b738fe62112fc16c5213bd5769a8a54074fc7 (patch) | |
tree | a704111e059737002c3c6a558ffc3449382e7fa0 /doc | |
parent | ed207cdbdace951595a18548b77bc38fb3f1c6ef (diff) | |
download | ccwl-770b738fe62112fc16c5213bd5769a8a54074fc7.tar.gz ccwl-770b738fe62112fc16c5213bd5769a8a54074fc7.tar.lz ccwl-770b738fe62112fc16c5213bd5769a8a54074fc7.zip |
ccwl: Implement identity construct.
* ccwl/ccwl.scm (collect-steps): Implement identity construct.
* doc/ccwl.skb (Cookbook)[The identity construct]: New section.
* doc/identity-construct.scm: New file.
Diffstat (limited to 'doc')
-rw-r--r-- | doc/ccwl.skb | 9 | ||||
-rw-r--r-- | doc/identity-construct.scm | 14 |
2 files changed, 22 insertions, 1 deletions
diff --git a/doc/ccwl.skb b/doc/ccwl.skb index 726b405..cb78fd5 100644 --- a/doc/ccwl.skb +++ b/doc/ccwl.skb @@ -382,7 +382,14 @@ the external CWL workflow.] (scheme-source "doc/external-cwl-workflow.scm") [,(file "echo.cwl") is defined as] ;; TODO: Syntax highlight doc/external-cwl-workflow.cwl. - (prog :line #f (source :file "doc/echo.cwl"))))) + (prog :line #f (source :file "doc/echo.cwl")))) + (section :title [The ,(code [identity]) construct] + :ident "identity-construct" + (p [Sometimes, it is helpful for a step to simply copy all input +keys forward to the output. This is what the ,(code [identity]) +construct is for. An example follows.] + (scheme-source "doc/identity-construct.scm") + (image :file "doc/identity-construct.png")))) (chapter :title [Contributing] :ident "chapter-contributing" diff --git a/doc/identity-construct.scm b/doc/identity-construct.scm new file mode 100644 index 0000000..626568f --- /dev/null +++ b/doc/identity-construct.scm @@ -0,0 +1,14 @@ +(define print-message + (command #:inputs (message #:type string) + #:run "echo" message + #:outputs (printed-message #:type stdout))) + +(define print-file + (command #:inputs (file #:type File) + #:run "cat" file + #:outputs (printed-file #:type stdout))) + +(workflow ((message #:type string)) + (pipe (print-message #:message message) + (tee (print-file #:file printed-message) + (identity)))) |