From 3df1beff308d8b0fdbc6a32cf17dc5908d39fcb8 Mon Sep 17 00:00:00 2001 From: Arun Isaac Date: Sat, 6 Mar 2021 01:00:09 +0530 Subject: Introduce type. * ccwl/ccwl.scm (): New type. (command): New function. --- ccwl/ccwl.scm | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/ccwl/ccwl.scm b/ccwl/ccwl.scm index 1d44dfc..e73b9e6 100644 --- a/ccwl/ccwl.scm +++ b/ccwl/ccwl.scm @@ -9,6 +9,7 @@ #:use-module (srfi srfi-9 gnu) #:use-module (ice-9 match) #:export (clitool + command workflow input output @@ -126,6 +127,24 @@ (in step-in set-step-in) (out step-out set-step-out)) +(define-immutable-record-type + (make-command inputs outputs args stdin other) + command? + (inputs command-inputs set-command-inputs) + (outputs command-outputs set-command-outputs) + (args command-args) + (stdin command-stdin set-command-stdin) + (other command-other)) + +(define* (command id arguments #:key (additional-inputs '()) (outputs '()) (other '())) + (make-step id + (make-command (append (filter input? arguments) + additional-inputs) + outputs arguments #f other) + (append (filter input? arguments) + additional-inputs) + outputs)) + "Build a Workflow class CWL workflow." `((cwlVersion . "v1.1") (class . Workflow) -- cgit v1.2.3