summaryrefslogtreecommitdiff
AgeCommit message (Expand)Author
2021-05-17Support general DAG workflows.•••* ccwl/ccwl.scm: Import (srfi srfi-71). (command-input-keys, workflow-steps): New function. (workflow): Support general Directed Acyclic Graph (DAG) workflows. Arun Isaac
2021-05-15Implement <key> type and utilities.•••* ccwl/ccwl.scm (<key>): New type. (key, cwl-key-address): New functions. Arun Isaac
2021-05-15Pass inputs explicitly to make-workflow.•••* ccwl/ccwl.scm (make-workflow): Accept inputs explicitly. Arun Isaac
2021-05-15Use symbols as input identifiers instead of strings.•••* ccwl/ccwl.scm (input=?): Compare using eq? instead of string=?. (command->cwl, write-cwl): Convert input-id to string before appending. Arun Isaac
2021-05-15Make stdin a unary key of command.•••* ccwl/ccwl.scm (command): Make stdin a unary key. Arun Isaac
2021-05-15Do not convert YAML symbols from kebab case to camel case.•••Doing this conversion effectively forbids kebab case symbols in YAML. * ccwl/yaml.scm (kebab->camel): Delete function. (display-atom): Do not convert symbols from kebab case to camel case. * ccwl/ccwl.scm (make-workflow, output->cwl, command->cwl): Write camel case explicitly. Arun Isaac
2021-05-15Add list functions for multi-valued functions.•••* ccwl/utils.scm (mapn, append-mapn, foldn): New public functions. Arun Isaac
2021-05-14Rewrite pre-inst-env in scheme.•••Scheme code is more readable than arcane bash. * pre-inst-env.in: Rewrite in scheme. Arun Isaac
2021-04-26Remove deprecated pipeline function.•••* ccwl/ccwl.scm (pipeline): Delete function. Arun Isaac
2021-04-26Escape asterisk characters in scm->yaml.•••* ccwl/yaml.scm (display-atom): Escape asterisk characters. * tests/yaml.scm ("strings with asterisk characters should be escaped"): New test. Arun Isaac
2021-04-26Test if scm->yaml escapes hyphen characters.•••* tests/yaml.scm ("strings with hyphen characters should be escaped"): New test. Arun Isaac
2021-04-26Add .gitignore.•••* .gitignore: New file. Arun Isaac
2021-04-26Run tests in autotools build system.•••* build-aux/test-driver.scm.in: New file. * configure.ac: Generate build-aux/test-driver.scm. * Makefile.am (TEST_EXTENSIONS): Add .scm. (SCM_TESTS): Add tests/ccwl.scm and tests/yaml.scm. (TESTS): Set to SCM_TESTS. (EXTRA_DIST): Distribute test files. Arun Isaac
2021-04-26Remove deprecated break-pair tests.•••* tests/ccwl.scm (break-pair): Delete function. ("break-pair", "break-pair: check last elemet handling"): Delete tests. Arun Isaac
2021-04-26Add Guix build script.•••* guix.scm: New file. Arun Isaac
2021-04-26Set path to guile in shebang from configure.•••* configure.ac: Generate scripts/ccwl. * scripts/ccwl: Rename to ... * scripts/ccwl.in: ... this. Set path to guile in shebang as an autoconf substitution. Arun Isaac
2021-04-26Add autotools build system.•••* Makefile.am, bootstrap.sh, configure.ac, pre-inst-env.in: New files. Arun Isaac
2021-04-26Add ccwl script.•••* scripts/ccwl: New file. Arun Isaac
2021-04-26Redefine command using lambda**.•••* ccwl/ccwl.scm (command): Redefine using lambda**. Arun Isaac
2021-04-26Implement the CCWL embedded domain specific language.•••* ccwl/ccwl.scm: Import (ccwl utils). (command): Return <command> object. (auto-connect): Delete function. (invoke-command, make-workflow, workflow-steps): New functions. (workflow): Replace function with macro. Arun Isaac
2021-04-26Add setter for source field of <output> type.•••* ccwl/ccwl.scm (<output>): Add functional setter set-output-source for source field. * .dir-locals.el (scheme-mode): Specify indentation for set-output-source. Arun Isaac
2021-04-26Add plist->alist.•••* ccwl/utils.scm (pairify, plist->alist): New public functions. Arun Isaac
2021-04-25Upgrade to CWL version 1.2.•••Version 1.2 of the CWL specification is required to support conditional steps. * ccwl/ccwl.scm (%cwl-version): Set to "v1.2". Arun Isaac
2021-04-17Add copyright section to test files.•••* tests/ccwl.scm, tests/yaml.scm: Add copyright section. Arun Isaac
2021-04-17Expand name Arun I to Arun Isaac.•••* ccwl/ccwl.scm, ccwl/utils.scm, ccwl/yaml.scm: Expand name Arun I to Arun Isaac. Arun Isaac
2021-04-16Add copyright and commentary sections to files.•••* ccwl/ccwl.scm, ccwl/utils.scm, ccwl/yaml.scm: Add copyright and commentary sections. Arun Isaac
2021-04-16Add .dir-locals.el for emacs.•••* .dir-locals.el: New file. Arun Isaac
2021-04-16Implement lambda** n-ary keyword function.•••* ccwl/utils.scm: Export lambda** instead of group-arguments. (group-arguments): Delete function. (lambda**): New macro. Arun Isaac
2021-04-16Make unary-keywords argument of group-keyword-arguments optional.•••* ccwl/utils.scm (group-keyword-arguments): Make unary-keywords optional. Arun Isaac
2021-04-16Add plist-ref utility.•••* ccwl/utils.scm: Import (srfi srfi-26). (plist-ref): New function. Arun Isaac
2021-04-12Support n-ary keyword arguments.•••* ccwl/utils.scm: New file. Arun Isaac
2021-03-26Add README.•••* README.org: New file. Arun Isaac
2021-03-26Add copy of GPLv3.•••* COPYING: New file. Arun Isaac
2021-03-22List additional-inputs while generating CWL.•••* ccwl/ccwl.scm (command->cwl): List additional-inputs in inputs array. Arun Isaac
2021-03-22Add additional-inputs field to <command> type.•••* ccwl/ccwl.scm (<command>): Add additional-inputs field. (command): Initialize additional-inputs field. Arun Isaac
2021-03-22Remove input->tree abstraction.•••<input> objects need to be expanded into CWL in context sensitive ways. There is no simple generalization. * ccwl/ccwl.scm (input->tree): Delete function. (workflow): Expand input->tree. Arun Isaac
2021-03-22Delete input field of <command> object.•••* ccwl/ccwl.scm (<command>): Delete input field. (command): Do not set inputs field. Arun Isaac
2021-03-21Print steps enclosing <command> objects correctly.•••* ccwl/ccwl.scm (write-cwl): Invoke command->cwl if step encloses <command> object. Arun Isaac
2021-03-21Use both CWL arguments and inputs arrays.•••* ccwl/ccwl.scm (<cli-element>): New type. (command->cwl): Put string and expression arguments into the arguments array. Put <input> arguments into the inputs array. Arun Isaac
2021-03-21Add alist filtering utility function.•••* ccwl/ccwl.scm (filter-alist): New function. (input->tree): Use filter-alist. Arun Isaac
2021-03-21Set the default output of a pipeline.•••* ccwl/ccwl.scm (pipeline): Set the stdout of the last command to be the default output of the pipeline. Arun Isaac
2021-03-21Pull out cwl-version as a separate variable.•••* ccwl/ccwl.scm (%cwl-version): New variable. (workflow, command->cwl): Use %cwl-version. Arun Isaac
2021-03-21Add prefix field to <input> object.•••* ccwl/ccwl.scm (<input>): Add prefix field. (input): Initialize prefix field. (input-with-prefix): New public function. Arun Isaac
2021-03-21Remove appender for inputs field of <command>.•••* ccwl/ccwl.scm (append-command-inputs): Delete function. Arun Isaac
2021-03-17Set default type of outputs to File.•••* ccwl/ccwl.scm (output): Set default type to File. Arun Isaac
2021-03-17Set default type of inputs to File.•••* ccwl/ccwl.scm (input): Set default type to File. Arun Isaac
2021-03-07Add write-cwl function to write generated CWL to a file.•••* ccwl/ccwl.scm: Import (srfi srfi-26) and (ccwl yaml). (write-cwl): New public function. Arun Isaac
2021-03-07Remove field binding from constructor of the <input> type.•••* ccwl/ccwl.scm (<input>): Remove field binding from constructor. Arun Isaac
2021-03-07Escape YAML strings that contain the hyphen character.•••* ccwl/yaml.scm (display-atom): Escape string if it contains the hyphen character. Arun Isaac
2021-03-06Auto-connect steps by matching identifiers.•••* ccwl/ccwl.scm (auto-connect): New function. (workflow): Auto-connect step inputs and outputs before generating <step> record. Arun Isaac