aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ravanan/work/command-line-tool.scm3
1 files changed, 3 insertions, 0 deletions
diff --git a/ravanan/work/command-line-tool.scm b/ravanan/work/command-line-tool.scm
index 26d1a9e..5000100 100644
--- a/ravanan/work/command-line-tool.scm
+++ b/ravanan/work/command-line-tool.scm
@@ -139,11 +139,14 @@ example, when @var{type} is a union type."
(define (formal-parameter-type type)
"Return the type described in the CWL @var{type} specification."
(cond
+ ;; Union types
((vector? type)
(apply union-type
(map formal-parameter-type (vector->list type))))
+ ;; Other types
((string? type)
(string->symbol type))
+ ;; Array types
((string=? (assoc-ref type "type")
"array")
(array-type (formal-parameter-type (assoc-ref type "items"))))))