aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2021-05-24Do not compile pre-inst-env.Arun Isaac
* pre-inst-env.in: Add --no-auto-compile flag to shebang.
2021-05-24Remove unnecessary -s flag from shebang.Arun Isaac
* pre-inst-env.in, scripts/ccwl.in: Remove unnecessary -s flag from shebang.
2021-05-24Replace suffix rule with pattern rule.Arun Isaac
Suffix rules are deprecated and should not be used. Pattern rules are clearer and more general. * Makefile.am: Replace suffix rule to build scheme files with pattern rule.
2021-05-24Do not bind command line argument 0 in pre-inst-env.Arun Isaac
* pre-inst-env.in: Do not bind command line argument 0 to a variable.
2021-05-24Set PATH in pre-inst-env.Arun Isaac
* pre-inst-env.in: Append scripts directory to PATH.
2021-05-24Add "Workflow with multiple steps" to tutorial.Arun Isaac
* doc/ccwl.texi (Workflow with multiple steps): New node. (Tutorial): Link to "Workflow with multiple steps" node from menu.
2021-05-24Install ccwl script.Arun Isaac
* Makefile.am (bin_SCRIPTS): Add scripts/ccwl.
2021-05-24Add "Capturing output files" to tutorial.Arun Isaac
* doc/ccwl.texi (Capturing output files): New section. (Tutorial): Link to "Capturing output files" node from menu.
2021-05-24Add "Capturing stdout" section to tutorial.Arun Isaac
* doc/ccwl.texi (Capturing the standard output stream of a command): New section. * doc/ccwl.texi (Tutorial): Link to "Capturing stdout" node from menu.
2021-05-24Add "First example" section to tutorial.Arun Isaac
* doc/ccwl.texi (First example): New section. (Tutorial): Link to "First example" node from menu.
2021-05-24Add tutorial.Arun Isaac
* doc/ccwl.texi (Tutorial): New chapter. (Top): Link to "Tutorial" node from menu.
2021-05-23Unify command variable reference.Arun Isaac
* ccwl/ccwl.scm (command-variable, command-syntax->object): Delete functions. (command-object): New function. (workflow-steps): Use command-object instead of command-variable and command-syntax->object.
2021-05-23Add manual.Arun Isaac
* doc/ccwl.texi: New file. * Makefile.am (bin_SCRIPTS): Add doc/ccwl.texi.
2021-05-17Support simpler syntax for inputs with no properties.Arun Isaac
* ccwl/ccwl.scm (workflow): When input has no properties, support only specifying the symbol.
2021-05-17Support implicit key pairing.Arun Isaac
* ccwl/ccwl.scm (command-syntax->object): When command accepts only a single input and there is only a single key available, support implicit key pairing.
2021-05-17Support commands with implicit step identifier.Arun Isaac
* ccwl/ccwl.scm (workflow-steps): When command does not specify step identifier, assume the step identifier is the same as the command symbol.
2021-05-17Abstract out command variable reflection.Arun Isaac
* ccwl/ccwl.scm (command-variable, command-syntax->object): New functions. (workflow-steps): Use command-variable and command-syntax->object.
2021-05-17Remove deprecated %stdin and %stdout variables.Arun Isaac
* ccwl/ccwl.scm (%stdin, %stdout): Delete variables.
2021-05-17Indent workflow macro correctly.Arun Isaac
* .dir-locals.el (scheme-mode): Set scheme-indent-function of workflow to 1.
2021-05-17Support general DAG workflows.Arun Isaac
* ccwl/ccwl.scm: Import (srfi srfi-71). (command-input-keys, workflow-steps): New function. (workflow): Support general Directed Acyclic Graph (DAG) workflows.
2021-05-15Implement <key> type and utilities.Arun Isaac
* ccwl/ccwl.scm (<key>): New type. (key, cwl-key-address): New functions.
2021-05-15Pass inputs explicitly to make-workflow.Arun Isaac
* ccwl/ccwl.scm (make-workflow): Accept inputs explicitly.
2021-05-15Use symbols as input identifiers instead of strings.Arun Isaac
* ccwl/ccwl.scm (input=?): Compare using eq? instead of string=?. (command->cwl, write-cwl): Convert input-id to string before appending.
2021-05-15Make stdin a unary key of command.Arun Isaac
* ccwl/ccwl.scm (command): Make stdin a unary key.
2021-05-15Do not convert YAML symbols from kebab case to camel case.Arun Isaac
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.
2021-05-15Add list functions for multi-valued functions.Arun Isaac
* ccwl/utils.scm (mapn, append-mapn, foldn): New public functions.
2021-05-14Rewrite pre-inst-env in scheme.Arun Isaac
Scheme code is more readable than arcane bash. * pre-inst-env.in: Rewrite in scheme.
2021-04-26Remove deprecated pipeline function.Arun Isaac
* ccwl/ccwl.scm (pipeline): Delete function.
2021-04-26Escape asterisk characters in scm->yaml.Arun Isaac
* ccwl/yaml.scm (display-atom): Escape asterisk characters. * tests/yaml.scm ("strings with asterisk characters should be escaped"): New test.
2021-04-26Test if scm->yaml escapes hyphen characters.Arun Isaac
* tests/yaml.scm ("strings with hyphen characters should be escaped"): New test.
2021-04-26Add .gitignore.Arun Isaac
* .gitignore: New file.
2021-04-26Run tests in autotools build system.Arun Isaac
* 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.
2021-04-26Remove deprecated break-pair tests.Arun Isaac
* tests/ccwl.scm (break-pair): Delete function. ("break-pair", "break-pair: check last elemet handling"): Delete tests.
2021-04-26Add Guix build script.Arun Isaac
* guix.scm: New file.
2021-04-26Set path to guile in shebang from configure.Arun Isaac
* configure.ac: Generate scripts/ccwl. * scripts/ccwl: Rename to ... * scripts/ccwl.in: ... this. Set path to guile in shebang as an autoconf substitution.
2021-04-26Add autotools build system.Arun Isaac
* Makefile.am, bootstrap.sh, configure.ac, pre-inst-env.in: New files.
2021-04-26Add ccwl script.Arun Isaac
* scripts/ccwl: New file.
2021-04-26Redefine command using lambda**.Arun Isaac
* ccwl/ccwl.scm (command): Redefine using lambda**.
2021-04-26Implement the CCWL embedded domain specific language.Arun Isaac
* 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.
2021-04-26Add setter for source field of <output> type.Arun Isaac
* ccwl/ccwl.scm (<output>): Add functional setter set-output-source for source field. * .dir-locals.el (scheme-mode): Specify indentation for set-output-source.
2021-04-26Add plist->alist.Arun Isaac
* ccwl/utils.scm (pairify, plist->alist): New public functions.
2021-04-25Upgrade to CWL version 1.2.Arun Isaac
Version 1.2 of the CWL specification is required to support conditional steps. * ccwl/ccwl.scm (%cwl-version): Set to "v1.2".
2021-04-17Add copyright section to test files.Arun Isaac
* tests/ccwl.scm, tests/yaml.scm: Add copyright section.
2021-04-17Expand name Arun I to Arun Isaac.Arun Isaac
* ccwl/ccwl.scm, ccwl/utils.scm, ccwl/yaml.scm: Expand name Arun I to Arun Isaac.
2021-04-16Add copyright and commentary sections to files.Arun Isaac
* ccwl/ccwl.scm, ccwl/utils.scm, ccwl/yaml.scm: Add copyright and commentary sections.
2021-04-16Add .dir-locals.el for emacs.Arun Isaac
* .dir-locals.el: New file.
2021-04-16Implement lambda** n-ary keyword function.Arun Isaac
* ccwl/utils.scm: Export lambda** instead of group-arguments. (group-arguments): Delete function. (lambda**): New macro.
2021-04-16Make unary-keywords argument of group-keyword-arguments optional.Arun Isaac
* ccwl/utils.scm (group-keyword-arguments): Make unary-keywords optional.
2021-04-16Add plist-ref utility.Arun Isaac
* ccwl/utils.scm: Import (srfi srfi-26). (plist-ref): New function.
2021-04-12Support n-ary keyword arguments.Arun Isaac
* ccwl/utils.scm: New file.