From 900c76a29726778a34ba0cbeb832cddd618783f4 Mon Sep 17 00:00:00 2001 From: Arun Isaac Date: Thu, 16 Nov 2023 13:35:40 +0000 Subject: ccwl: Support nested arrays. * ccwl/ccwl.scm (construct-type-syntax): Construct types recursively to support nested arrays. (key->output): Recursively convert stdout types to File types. * ccwl/cwl.scm (type->cwl): New function. (input->cwl-scm, output->cwl-scm): Use type->cwl. * tests/ccwl.scm (make-array-type): New function. (construct-type-syntax-wrapper): New syntax. ("construct-type-syntax on primitive types", "construct-type-syntax on array types", "construct-type-syntax on nested array types"): New tests. * tests/cwl.scm, doc/array-types.scm, doc/nested-array-types.scm: New files. * doc/ccwl.skb (Cookbook)[Array types]: New section. --- doc/array-types.scm | 2 ++ doc/ccwl.skb | 5 +++++ doc/nested-array-types.scm | 2 ++ 3 files changed, 9 insertions(+) create mode 100644 doc/array-types.scm create mode 100644 doc/nested-array-types.scm (limited to 'doc') diff --git a/doc/array-types.scm b/doc/array-types.scm new file mode 100644 index 0000000..1722d7c --- /dev/null +++ b/doc/array-types.scm @@ -0,0 +1,2 @@ +(workflow ((foo #:type (array string))) + […]) diff --git a/doc/ccwl.skb b/doc/ccwl.skb index 2e84d58..1ae35f2 100644 --- a/doc/ccwl.skb +++ b/doc/ccwl.skb @@ -332,6 +332,11 @@ to ,(emph "stage") the input file into the output directory. We may express this in ccwl using the ,(code "#:stage?") parameter to the inputs to be staged. Here is a rather concocted example.] (scheme-source "doc/staging-input-files.scm"))) + (section :title [Array types] + (p [ccwl supports array types using the following syntax.] + (scheme-source "doc/array-types.scm")) + (p [Nested array types are also supported.] + (scheme-source "doc/nested-array-types.scm"))) (section :title [Scatter/gather] (p [ccwl supports CWL's dotproduct scatter/gather feature using the following syntax. Here, the ,(code [other-messages]) input to the diff --git a/doc/nested-array-types.scm b/doc/nested-array-types.scm new file mode 100644 index 0000000..7968750 --- /dev/null +++ b/doc/nested-array-types.scm @@ -0,0 +1,2 @@ +(workflow ((foo #:type (array (array string)))) + […]) -- cgit v1.2.3